Messaging And Email
What this category is for
Use these nodes to send notifications to email providers or publish messages to Kafka as part of workflow side effects.
Node list table
| Node type | Purpose | Key inputs | Branch outputs |
|---|---|---|---|
smtp_node | Send email through SMTP credential. | Config credentials_id, optional timeout_ms; input to, subject, body, optional body_html, cc, bcc, from_override, attachments | success, error |
sendgrid_node | Send email through SendGrid API credential. | Config credentials_id, optional timeout_ms; same input shape as smtp_node | success, error |
kafka_node | Produce message to Kafka topic. | Config credentials_id, optional timeout_ms; input topic, value, optional key, headers | none (returns result or error field) |
Common patterns
1) Non-blocking notifications
- Main request path responds quickly via
response_node - Side branch triggers
smtp_node/sendgrid_nodefor user or ops notifications
2) Event emission after successful transaction
- After DB/API success, publish compact event payload to
kafka_node - Include deterministic
keyfor partition consistency
3) Provider fallback
- Primary
sendgrid_node - On
errorbranch, route tosmtp_nodefallback with same content
4) Structured alerting payloads
- Build subject/body/topic/value using
set_node - Keep notification node inputs thin and explicit
Common mistakes and how to debug
- Wrong credential type: node returns error when credential type does not match (
smtp,sendgrid,kafka). - Empty required fields: email nodes require
to,subject,body; kafka requirestopicandvalue. - Attachment formatting errors: attachments must be array of objects with base64 content; malformed payload causes send failures.
- Kafka bootstrap resolution issues: if credential uses env-var bootstrap, ensure env var is present at runtime.
- Missing branch handling: email nodes expose
success/errorbranches; wire both.kafka_nodedoes not emitmatched_output, so downstream edges are unconditional.