Skip to content

Notification

A Notification node sends an email or calls a webhook. Pick which under Type.

To post in Slack or send from your own Gmail account, use an Action on that app instead.

Field What it does
Send to (required) Addresses, separated by commas
Also send to More addresses, separated by commas
Subject The subject. Empty sends “Workflow notification”.
Message The body, as plain text. A blank line starts a new paragraph. Empty sends the step’s input.
Retry if sending fails Retries a failed send 3 times, waiting 5 seconds and then longer between tries

Every field is a template, so an address can come from the payload, as in {{ trigger.email }}.

The email comes from noreply@superflows.app. Its heading is the subject, and its footer names your organization and tells the reader to contact you to stop receiving it. Each address gets its own copy; Also send to adds recipients, not a visible copy line.

  • One email goes to at most 10 addresses, counted after duplicates are removed.
  • Every address must be a valid email address.
  • On the Free plan, every address must belong to a member of your organization with a verified email. On Pro, it can be anyone.
  • Each address counts once against your plan’s monthly notification emails: 100 on Free, 2,000 on Pro. See Allowances.

When one of these refuses the email, the step fails at once, with no retry, and nothing is sent. The error says which rule refused it.

Field What it holds
sentTo The addresses the email went to

The next step’s {{ input }} is the message that was sent.

Field What it does
URL (required) Where to send the request
Body What to send. Empty sends the step’s input.

The step sends a POST to the URL. A body that is valid JSON goes with Content-Type: application/json; anything else goes as text/plain. You can’t add headers.

A response with a status outside 200 to 299 fails the step with the status and the start of the response body.

To send fields from the run, write the body as JSON. Use the json filter for any value that can hold quotes or line breaks:

{
"customer": "{{ trigger.customer }}",
"amount": {{ trigger.amount }},
"summary": {{ nodes.summary.response | json }}
}
Field What it holds
status The HTTP status the webhook answered

The webhook passes on the text it received, so the next step’s {{ input }} is the same as this step’s.

Publish refuses an email with no address under Send to, a webhook with no URL, and any field that isn’t valid Liquid.