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
| Issue | Possible Cause | Suggested Solution |
|---|---|---|
| Styles not applied | Use of <style> tags | Use inline styles instead, e.g. <p style="color: grey;">Example: styled text</p> |
| Background color lost | Email client does not support external CSS | Apply background-color directly on div or td tags |
| Text alignment issues | Using margin to control spacing | Replace with padding |
| Images not displayed | Using relative paths or inaccessible URLs | Use public absolute URLs, or embed images using base64 |
| Font rendering issues | Using non-web-safe fonts | Use common fonts like Arial, Helvetica, etc. |