Skip to main content

SendEMail@1

Node PlaceholderReplace@1 is used to replace placeholders in the payload with the specified values. This node is usually used with a notification template to replace placeholders with actual values.

Adapter Prerequisites

Node Configuration

For fields path, targetPath, targetValueWriteMode, and targetValueKind, see Overview.

transformations:
- type: PlaceholderReplace@1 # Replace placeholders in the notification template
replaceRules: # List of placeholders to replace
- placeholder: placeholderName # Placeholder to replace, the placeholder should be in the format ${placeholderName} in payload
path: $.myValue # Path to the value to replace the placeholder with
path: $.body # Path to the payload
targetPath: $.resultBody # Path to store the result

Usage Example

Here's an example of how you might use the SendEMail@1 node in a transformation pipeline. In this example, the node retrieves a notification template named emaildemo and stores the template body in the payload at $.body and the subject at $.subject. There are two placeholders in the template body, tableData and firstName, which are replaced with the query result and the customer's first name, respectively. After replacing the placeholders, the email is sent to the specified email address.

triggers:
- type: FromExecutePipelineCommand@1
transformations:
- type: GetNotificationTemplate@1 # Get the notification template
notificationTemplateName: emaildemo
targetPath: body
subjectTargetPath: subject
- type: GetRtEntitiesById@1 # Get the customer entity
ckTypeId: OctoSdkDemo/Customer
rtIds:
- 673b5e451c7375d2ea2bec85
targetPath: $.customer
- type: GetQueryById@1 # Get the query result
targetPath: $.query
queryRtId: 673b5c06de73e7b1755754e4
- type: QueryResultToMarkdownTable@1 # Convert the query result to a Markdown table
path: $.query
targetPath: $.table
- type: PlaceholderReplace@1 # Replace placeholders in the notification template
replaceRules:
- placeholder: tableData
path: $.table
- placeholder: firstName
path: $.customer.Attributes.FirstName
- placeholder: lastName
path: $.customer.Attributes.LastName
path: $.body
targetPath: $.resultBody
- type: SetPrimitiveValue@1 # Set the email address
value: "demo@demo.com"
targetPath: $.to
- type: SendEMail@1 # Send the email
serverConfiguration: smtptest
subjectPath: $.subject
path: $.resultBody
toPath: $.to