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