Email Task¶
Overview¶
The Email Task sends customized emails to recipients with dynamic content, attachments, and full HTML formatting. It's the most versatile communication tool in BaseCloud automation.
When to use this task:
- Send confirmation emails after form submissions
- Deliver automated reports and notifications
- Send personalized follow-up sequences
- Notify team members of important events
- Send receipts, invoices, or documents
- Trigger transactional emails based on CRM activities
Key Features:
- Full HTML email support with templates
- Dynamic content using workflow variables
- Multiple recipients (To, CC, BCC)
- File attachments from previous tasks
- Custom sender name and reply-to address
- Email tracking and delivery status
[SCREENSHOT NEEDED: Email task configuration panel showing recipient, subject, and body fields]
Quick Start¶
- Add Email task to your workflow
- Configure sender (From Name and Email)
- Add recipient email address
- Write subject line
- Compose email body (HTML or plain text)
- Test and save
Simple Example:
From Name: Your Company
From Email: noreply@yourcompany.com
To: {{task_12345_email}}
Subject: Thank you for your inquiry
Body: Hi {{task_12345_first_name}}, thanks for contacting us!
Email Configuration¶
Sender Information¶
From Name: - The display name recipients see - Can include variables: {{task_12345_company}} Team - Best practice: Use consistent, recognizable names
From Email: - Must be a verified domain email address - Configure SMTP settings in BaseCloud admin - Cannot use personal Gmail/Outlook addresses for production
Reply-To Email (Optional): - Where replies should go - Useful if sending from noreply@ address - Example: support@yourcompany.com
Recipients¶
To Field: - Primary recipient(s) - Use workflow variables: {{task_12345_email}} - Multiple recipients: Comma-separated
CC Field (Optional): - Carbon copy recipients - Visible to all recipients - Example: sales@company.com, support@company.com
BCC Field (Optional): - Blind carbon copy - Hidden from other recipients - Useful for tracking or archiving
Subject Line¶
- Keep under 50 characters for best open rates
- Use dynamic content:
New lead: {{task_12345_first_name}} {{task_12345_last_name}} - Avoid spam trigger words (FREE, URGENT, !!!)
- Personalization improves engagement
Examples:
Welcome to {{task_12345_company}}!
Your invoice #{{task_12345_invoice_number}} is ready
Follow-up: {{task_12345_subject}}
Email Body¶
HTML Mode (Default): - Full HTML formatting support - Use template builder or custom HTML - Supports CSS styling - Include images with full URLs
Plain Text Mode: - Simple text-only emails - Better deliverability in some cases - No formatting or images
Dynamic Content: Insert workflow variables anywhere:
<p>Hi {{task_12345_first_name}},</p>
<p>Thank you for your inquiry about {{task_12345_product}}.</p>
<p>Your reference number is: <strong>{{task_12345_reference}}</strong></p>
[SCREENSHOT NEEDED: Email body editor showing HTML template with dynamic variables]
Attachments¶
Attach files from previous tasks in the workflow.
From File Upload Task:
From PDF Task:
Multiple Attachments:
Static Attachments: - Upload to BaseCloud file storage - Reference using full URL
SMTP Configuration¶
Configure SMTP settings in BaseCloud Admin → Email Settings.
Using BaseCloud SMTP (Recommended)¶
Built-in email service: - Pre-configured and ready to use - Reliable delivery - Automatic retry on failures - Delivery tracking included
From Email must use:
Custom SMTP Server¶
Requirements: - SMTP host and port - Username and password - TLS/SSL support
Popular Providers:
| Provider | SMTP Host | Port | TLS |
|---|---|---|---|
| Gmail | smtp.gmail.com | 587 | Yes |
| SendGrid | smtp.sendgrid.net | 587 | Yes |
| Mailgun | smtp.mailgun.org | 587 | Yes |
| Office 365 | smtp.office365.com | 587 | Yes |
Configuration Steps: 1. Go to BaseCloud Admin → Email Settings 2. Enter SMTP credentials 3. Test connection 4. Verify sender domain (SPF/DKIM) 5. Save configuration
Output Fields¶
| Field | Description | Example Value |
|---|---|---|
task_[ID]_email_sent | Whether email sent successfully | true / false |
task_[ID]_message_id | Unique email identifier | msg_abc123xyz |
task_[ID]_sent_to | Email address sent to | john@example.com |
task_[ID]_sent_at | Timestamp when sent | 2024-02-08 14:30:00 |
task_[ID]_delivery_status | Delivery status | delivered, bounced, pending |
task_[ID]_error_message | Error if failed | Invalid email address |
Usage in subsequent tasks:
Real-World Examples¶
Example 1: Form Submission Auto-Reply¶
Workflow: 1. Website Form 2. Email - Send confirmation to customer
Email Configuration:
From Name: Customer Support
From Email: support@yourcompany.com
To: {{task_55123_email}}
Subject: Thank you for contacting us
Body:
Hi {{task_55123_first_name}},
Thank you for reaching out. We received your message:
"{{task_55123_message}}"
Someone from our team will respond within 24 hours.
Best regards,
The Support Team
Example 2: Daily Sales Report¶
Workflow: 1. Schedule Trigger - Every day at 8 AM 2. MySQL Query - Get yesterday's sales 3. Email - Send report to management
Email Configuration:
From Name: BaseCloud Reports
From Email: reports@yourcompany.com
To: manager@yourcompany.com, sales@yourcompany.com
Subject: Daily Sales Report - {{task_48001_date}}
Body:
<h2>Sales Summary for {{task_48001_date}}</h2>
<table>
<tr>
<th>Metric</th>
<th>Value</th>
</tr>
<tr>
<td>Total Orders</td>
<td>{{task_43001_total_orders}}</td>
</tr>
<tr>
<td>Revenue</td>
<td>R{{task_43001_total_revenue}}</td>
</tr>
<tr>
<td>New Customers</td>
<td>{{task_43001_new_customers}}</td>
</tr>
</table>
Example 3: Lead Assignment Notification¶
Workflow: 1. Webhook In - New lead received 2. Match to Client - Find existing contact 3. Edit Client - Assign to sales rep 4. Email - Notify assigned rep
Email Configuration:
From Name: Lead Manager
From Email: leads@yourcompany.com
To: {{task_16001_assigned_to_email}}
Subject: New lead assigned: {{task_15001_full_name}}
Body:
Hi {{task_16001_assigned_to_name}},
A new lead has been assigned to you:
Name: {{task_15001_full_name}}
Email: {{task_15001_email}}
Phone: {{task_15001_phone}}
Company: {{task_15001_company}}
Lead Source: {{task_46001_source}}
View in CRM: https://app.basecloudglobal.com/contacts/{{task_15001_contact_id}}
Example 4: Invoice Email with PDF¶
Workflow: 1. CRM Trigger - Deal won 2. MySQL Query - Generate invoice 3. PDF Task - Create invoice PDF 4. Email - Send invoice to customer
Email Configuration:
From Name: Accounts Department
From Email: accounts@yourcompany.com
To: {{task_47001_email}}
CC: accounts@yourcompany.com
Subject: Invoice #{{task_43001_invoice_number}}
Body:
Dear {{task_47001_first_name}},
Thank you for your business! Please find attached invoice #{{task_43001_invoice_number}}.
Invoice Details:
- Amount: R{{task_43001_total_amount}}
- Due Date: {{task_43001_due_date}}
- Payment Terms: {{task_43001_payment_terms}}
Pay online: https://pay.yourcompany.com/{{task_43001_invoice_id}}
Attachments:
{{task_36001_pdf_url}}
Example 5: Multi-Step Follow-Up Sequence¶
Workflow: 1. Website Form - Download whitepaper 2. Email - Immediate delivery of resource 3. Delay - Wait 3 days 4. Email - Follow-up #1 5. Delay - Wait 4 days 6. Email - Follow-up #2
Email 1 - Immediate:
Subject: Your whitepaper: {{task_55001_whitepaper_title}}
Body: Hi {{task_55001_first_name}}, here's your download link...
Email 2 - Day 3:
Subject: Did you find our whitepaper helpful?
Body: Hi {{task_55001_first_name}}, we hope you enjoyed...
Email 3 - Day 7:
Email Templates¶
Using Pre-Built Templates¶
- Go to BaseCloud Admin → Email Templates
- Create or select template
- Use template variables:
{first_name},{company}, etc. - Reference in workflow:
Template: Welcome Email
Dynamic Template Selection¶
Choose template based on workflow data:
HTML Best Practices¶
Structure:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto;">
<div style="padding: 20px;">
<h1>Your Heading</h1>
<p>Your content with {{dynamic_variable}}</p>
</div>
</body>
</html>
Inline CSS: - Always use inline styles (not <style> tags) - Many email clients strip <head> sections - Use tables for layout (sad but true)
Images: - Use full URLs: https://yoursite.com/logo.png - Include alt text for accessibility - Host on reliable CDN
Best Practices¶
Deliverability¶
- Verify sender domain - Set up SPF, DKIM, DMARC records
- Avoid spam triggers - No ALL CAPS, excessive punctuation!!!
- Clean recipient lists - Remove bounced addresses
- Warm up new domains - Start with low volume, increase gradually
- Include unsubscribe link - Required for compliance
Personalization¶
- Use recipient's name -
Hi {{first_name}}vs "Dear Customer" - Reference their activity - "Thanks for downloading {{resource}}"
- Segment by behavior - Different emails for different actions
- Time zone awareness - Send at appropriate local times
Content¶
- Clear subject lines - Set expectations accurately
- Mobile-friendly - 50%+ of emails opened on mobile
- Single call-to-action - Don't overwhelm with choices
- Test before sending - Use test workflows first
- Proofread - Typos destroy credibility
Technical¶
- Use Reply-To - Don't send from noreply@ if you want replies
- Handle failures gracefully - Add If task to check
email_sentstatus - Rate limiting - Don't send 1000s at once (use delays/loops)
- Track engagement - Monitor open rates and clicks
Troubleshooting¶
Email Not Sending¶
Check these:
- SMTP configuration - Verify credentials in Admin panel
- Sender email - Must be from verified domain
- Recipient email - Valid format required
- Workflow enabled - Check workflow status
- Task execution - View execution history for errors
View error details:
Emails Going to Spam¶
Common causes:
- No SPF/DKIM - Verify domain authentication
- Spam trigger words - Avoid "FREE", "CLICK HERE", "BUY NOW"
- Poor sender reputation - New domains need warm-up
- High complaint rate - Ensure proper unsubscribe
- Broken HTML - Validate your HTML structure
Dynamic Content Not Working¶
Ensure:
- Correct variable syntax -
{{task_ID_field}}not{task_ID_field} - Task ID matches - Use actual task ID from workflow
- Field exists - Check output fields from previous task
- Data available - Previous task completed successfully
Debug by viewing execution: - Click task in history - View "Output Data" tab - Copy exact field names
Attachments Not Attaching¶
Verify:
- File path correct - Must be full URL or valid path
- File accessible - Check file URL in browser
- File size - Most email providers limit to 10-25 MB
- Multiple files - Use comma separation without spaces
Frequently Asked Questions¶
Can I send to multiple recipients?¶
Yes, comma-separate email addresses:
How do I add images?¶
Use full URLs in HTML:
Can I schedule emails for later?¶
Yes, add a Delay task before the Email task:
How do I track if someone opened the email?¶
BaseCloud includes automatic tracking pixels. View delivery status:
What if the email fails?¶
Add an If task to handle failures:
1. Email
2. If Task - Check {{task_52123_email_sent}} = false
- True: Log error or retry
- False: Continue normally
Can I use different SMTP for different workflows?¶
Currently, SMTP is configured globally. Contact support for multi-tenant setups.
How do I test emails without sending to real customers?¶
- Use the Test URL in webhook/trigger tasks
- Replace recipient with your test email
- Enable "Test Mode" in workflow settings
- Check execution history after testing
What's the rate limit for sending?¶
- BaseCloud SMTP: 100 emails per minute
- Custom SMTP: Depends on your provider
- Use Delay tasks in loops to control rate
Related Tasks¶
- SMS Task - Send text messages
- Webhook Out - Trigger external email services
- Delay Task - Schedule email timing
- If Task - Conditional email sending
- Loop Task - Send multiple emails