Before proceeding, make sure you understand how to send basic notifications.
Overview
This guide explains how to send emails with document attachments through the notification plugin. Youβll learn how to:- Configure email templates with dynamic content
- Reference generated documents as attachments
- Implement the complete email notification flow in your processes
Prerequisites
- A configured notification template (see Managing notification templates)
- Properly defined Kafka topics for the notification plugin
- Files to attach (such as generated documents or uploaded files)
Implementing email notifications with attachments
Letβs walk through a common scenario: sending a customer a copy of their account details document via email.
Document Generation
If you need to generate the document first, see the document generation guide.
Understanding document references
When you generate a document, as explained in the Generating documents guide, you need to reference two key pieces of information:- minioPath: The storage location of the generated document
- documentType: The type identifier used to create the attachment filename
- customId: βClientsFolderβ
- templateName: βAccountCreationβ
You can verify these values in the process instance details:

Step-by-step implementation
1
Prepare your email template (notification template)
Configure the template youβll use for the email:
See Managing notification templates for detailed instructions.
- Define subject line, body text, and placeholders for dynamic content
- Set proper HTML formatting if needed
- Test the template to ensure it displays correctly

2
Verify Kafka topic configuration
Confirm that the required Kafka topics are properly defined:
- Navigate to FlowX Designer β Platform Status
- Select notification-plugin-mngt
- Expand kafkaTopicsHealthCheckIndicator β details β configuration β topic β notification β internal
- Verify that the input and output topics for email notifications are listed

3
Add a Send Message Task (Kafka) and Receive Message Task (Kafka)
In your process definition:
- Open the process definition in your project in FlowX Designer
- Add a Send Message Task (Kafka) after the document generation step
- Add a Receive Message Task (Kafka) after the Send Message Task

4
Configure the email request payload (Send Message Task)
On the Send Message Task, add a Kafka send action, add the corresponding kafka topic and create the JSON payload containing all information needed for the email:
Key parameters:

- templateName: The name of your configured email template
- language: The language code matching your templateβs language version
- receivers: Array of email addresses (can use process data variables)
- contentParams: Values to replace template placeholders
- attachments: Array of files to attach, with filename and minioPath/storage path
5
Configure the email success handler (Receive Message Task)
On the Receive Message Task, add a Kafka receive action, add the corresponding kafka topic and configure the node with the following properties:
- Go to Node config tab
- Under Data stream topics select Custom
- Add the topic name
- Click Save

6
Run the process
Run the process and check the result in the process instance details:

Request payload reference
Required fields
Field | Description | Example |
---|---|---|
templateName | The unique identifier of your email template | βaccountDetailsβ |
channel | The delivery channel (use βMAILβ for email) | βMAILβ |
language | Language code (must match a template language) | βenβ |
receivers | List of email addresses to receive the message | [βcustomer@example.comβ] |
Optional fields
Field | Description | Example |
---|---|---|
contentParams | Key-value pairs for template variable replacement | {"firstName": "John"} |
attachments | List of files to attach to the email | See below |
Attachment structure
Each attachment requires:- path: References the storage location (usually a MinIO path from document generation)
- filename: The name recipients will see for the attached file (can include process variables)
Testing and troubleshooting
After configuring your email notification:- Verify that variables resolve correctly in the template and attachment references
- Check email delivery to test recipients
- Review notification plugin logs if issues occur
Common issues
Problem | Solution |
---|---|
Email not received | Verify template name, receiver address, and SMTP configuration |
Missing attachment | Check that the MinIO path is correct and the file exists |
Template errors | Ensure all variables in template have corresponding values in contentParams |
Variable resolution | Confirm process variables use the correct path (check in process instance view) |