Email Notifications
Templates
Email notifications in Peak SDK and CLI leverage templates to send structured and customizable messages. These templates use the Handlebars templating language, allowing for dynamic content insertion.
Templates are categorized into two types:
Global Templates: These templates are defined at the organization level and can be used across all the email notifications.
Custom Templates: These templates are defined at the tenant level and can be used for tenant specific email notifications.
Below is an example of an email notification template using Handlebars syntax:
This template includes placeholders like {{name}}
and {{company}}
that will be replaced with actual data when the email is sent.
Note: For assistance with creating or modifying email templates, please contact your tenant admin or Peak support.
Emails
Sending Email Notifications
To send an email notification, you can provide the payload containing the email configuration. The email configuration includes the email subject, recipients, and the template information.
Using a YAML File
First, create a YAML file to specify the email configuration:
# send_email.yaml
body:
recipients:
- person1@peak.ai
- person2@peak.ai
cc:
- person3@peak.ai
bcc:
- person4@peak.ai
subject: Hello from Peak
templateName: my-email-template
templateParameters:
name: John
company: Peak
To send an email, use the following command:
peak alerts emails send path/to/email.yaml -v path/to/params.yaml
In the above example, the template_parameters
would be used to replace the placeholders in the email template with the actual values.
Using Command Line Arguments
Alternatively, send an email directly using command line arguments:
peak alerts emails send --subject <email_subject> --recipients <recipient_1> --recipients <recipient_2> --template-name <template_name> --template-parameters <template_parameters>
The template parameters should be provided as a stringified JSON object.
Using a combination of command line options and YAML:
Combine both methods, where command line arguments override YAML configurations. This method allows you to specify common settings in the YAML file and override them as needed via command line for specific cases.
# send_email.yaml
body:
recipients:
- person1@peak.ai
- person2@peak.ai
cc:
- person3@peak.ai
bcc:
- person4@peak.ai
subject: Hello from Peak
templateName: my-email-template
templateParameters:
name: John
company: Peak
peak alerts emails send path/to/email.yaml --subject "New Subject"
In this case, the final email body will look like:
{
"subject": "New Subject",
"recipients": ["person1@peak.ai", "person2@peak.ai"],
"cc": ["person3@peak.ai"],
"bcc": ["person4@peak.ai"],
"templateName": "my-email-template",
"templateParameters": {
"name": "John Doe",
"company": "Peak"
}
}