Skip to main content

Node - Send Email


Node Function:
Use this node to send emails to one or more specified email addresses with custom message content and optional attachments. CC is also supported.

Use Case Examples:

  • In a ticket management application, automatically send a confirmation email to the reporter when a ticket is marked as resolved.

  • In an order worksheet, when the order status is updated to "Shipped", automatically send a shipping notification to the customer.

  • After a marketing campaign is confirmed, send bulk marketing emails to target customers listed in the Contacts worksheet.

Configuration Example

When a ticket record is marked as completed, an email notification is sent to the reporter.

1. Create a workflow triggered by a worksheet event

Trigger the workflow when the Status field is marked as "Completed".

2. Add and configure the "Send Email" node

Email Sending Modes

Two sending modes are available:

  • Standard

    Supports CC. All recipients can see the email addresses of other recipients and those in CC.

  • Bulk sending but single display

    CC is not supported. Each email is sent individually, and the recipient only sees their own email address.

Regardless of the mode, each email address consumes one email credit per message.

Recipients

Email recipients can be manually entered, selected from Contacts (the account must be linked to an email), or sourced from previous nodes.

  • If all emails are sent to the same person, enter their email address directly.

  • For customer notifications (non-HAP users) such as ticket completion emails, select the email field within the record. The email address must be stored in the Email field to be recognized.

  • To send approval result notifications, select the applicant's system account directly.

  • For bulk marketing emails, use the "Get Multiple Data" node to retrieve a list of emails.

Subject & Body

You can enter static content or dynamically generate the email content by referencing node outputs within the workflow.

The email body supports rich text formatting and can also reference fields of the rich text type.

Sender Name

Once set, the sender name will appear in the recipient's inbox as the displayed sender.

Sender Email Address

The sender email address is system-defined and cannot be customized. All emails are sent from the platform's default email address.

Reply-To Address

If recipients reply to the automated email, their responses will be directed to the reply-to address specified here.

Attachments

  • Multiple attachments are supported; total size must not exceed 50MB
  • You can:
    • Upload static attachments from your local device — the same file will be sent with every email
    • Select attachments from records — each email may include different files depending on the associated record

Rich Text Mode

The email body supports rich text editing, as well as referencing rich text fields and other fields from the workflow.

How to Reference Node Objects

After selecting a field from a node, its field ID will be automatically copied. You can then paste the ID into the rich text editor.

Node Alias & Field Alias

By default, referenced node objects in rich text appear in the format {NodeID.FieldID}, which can be lengthy and difficult to read or format properly.

To improve readability, you can assign aliases to both the node and the field. Once configured, the format becomes {NodeAlias.FieldAlias}.

Node Alias Configuration

Field Alias Configuration

Display Result

Email Sending Limits

To prevent excessive or abnormal email traffic, we impose the following limit:

  • For the same recipient email address, a maximum of 10 emails can be sent within one hour.

  • If this limit is exceeded, further emails will be blocked by the email service provider.

Please design your workflow carefully to avoid sending more than 10 emails per hour to the same address.

Scenario: Displaying Multiple Records in an Email as a Table

When retrieving multiple records, you may want to present them in a table format within the email body for better readability.

Subform data in the record:

Configuration Steps

1. Retrieve Multiple Records in the Workflow

In this example, we create a workflow triggered by a custom button, then fetch subform data from the current record.

2. Format Data Using a Code Block

The code block can process up to 100 rows and render them as a table. Images are not supported in the table.

Code snippet: Click the top-right button in the code block to copy the entire code.

var field1 = input.field1 ? JSON.parse(input.field1):[];
var field2 = input.field2 ? JSON.parse(input.field2):[];

var htmltable="<table width='90%' border='1' bordercolor='#CCCCCC' align='left' cellpadding='0' cellspacing='0' style='border-collapse: collapse; background-color: #f0f0f0;'>"
htmltable+="<tr style='background-color:#4CAF50; color:white;'>";
htmltable+="<th style='white-space: nowrap'>Row Number</th>";
htmltable+="<th style='white-space: nowrap'>Feature Name</th>";
htmltable+="<th style='white-space: nowrap'>Module</th>";
htmltable+="</tr>";
for( var i in field1){
htmltable+="<tr>";
htmltable+="<td align='center'>"+(Number(i)+1)+"</td>";
htmltable+="<td align='left'>"+field1[i]+"</td>";
htmltable+="<td align='center'>"+field2[i]+"</td>";
htmltable+="</tr>";
}
htmltable+="</table>"
output = {htmltable: htmltable};

Code Block Setup

a. Define Input Parameters

Add two input parameters as shown. If you're unfamiliar with code blocks, keep the parameter names exactly as in the screenshot and select the corresponding fields.

b. Paste the Code

Paste the full code snippet into the editor without any modifications.

c. Click "Test" to Generate Output

Leave the input values empty during the test. Once successful, the output parameter will appear in section ③.

3. Use the Generated HTML in the Send Email Node

In the Send Email node, choose Rich Text Mode and insert the table code.

You may also write the output into a rich text field to display the table.

4. Publish the Workflow and Test the Email Output

Table Customization Options

Add More Columns

By default, only two columns are shown in the code template. To add more:

a. Add New Parameters

Add new input parameters for each additional column.

b. Update the Code

Modify the code in three places:

Accept new parameters, Add new table headers, Add new data cells

c. Repeat for additional columns

d. After modifying, save and republish the workflow

Adjust Text Alignment

To control text alignment within cells, modify the purple section of the code. Use the following options:

  • 'center' for center alignment

  • 'left' for left alignment

  • 'right' for right alignment

Change Background Colors

You can customize four color settings:

  • Border color
  • Header text color
  • Header background color
  • Cell background color

Get the color code and update it directly in the code.

Remove the Index Column

The first column shows row numbers by default. If you don't need it, delete the two highlighted lines shown below.

Common Issues with Table Styling in Emails

IssuePossible CauseSuggested Solution
Styles not appliedUse of <style> tagsUse inline styles instead, e.g. <p style="color: grey;">Example: styled text</p>
Background color lostEmail client does not support external CSSApply background-color directly on div or td tags
Text alignment issuesUsing margin to control spacingReplace with padding
Images not displayedUsing relative paths or inaccessible URLsUse public absolute URLs, or embed images using base64
Font rendering issuesUsing non-web-safe fontsUse common fonts like Arial, Helvetica, etc.