Recipe: Send email from Pipedream

Call Notify from a Pipedream workflow — HTTP request or Node step with NOTIFY_API_KEY.

Use Pipedream when a workflow should send transactional email after an event — webhook, cron, SaaS trigger. Still transactional, not newsletters.

No Notify Pipedream app is required. Use an HTTP request step or a short Node/fetch step.

Prerequisites

  • API key (prefer a domain-locked sending_access key)
  • Verified domain for production custom from
  • A Pipedream workflow with a trigger that already has the recipient address

Store the key

Add an environment variable / secret named NOTIFY_API_KEY in the Pipedream project or step. Never commit the key into shared workflow source.

Option A — HTTP request step

  1. Add an HTTP Request (or equivalent) step after your trigger.
  2. Method: POST
  3. URL: https://notify.cx/api/email/send
  4. Headers:
    • Content-Type → application/json
    • x-api-key → {{process.env.NOTIFY_API_KEY}} (or your project’s secret reference)
  5. Body (JSON):
{
  "to": "user@example.com",
  "from": "noreply@your-verified-domain.com",
  "subject": "Your order confirmation",
  "html": "<p>Thanks — we got your order.</p>"
}

Wire to / HTML from previous step exports (steps.trigger.event.email, etc.).

Option B — Node step

const res = await fetch('https://notify.cx/api/email/send', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': process.env.NOTIFY_API_KEY
  },
  body: JSON.stringify({
    to: steps.trigger.event.email,
    from: 'noreply@your-verified-domain.com',
    subject: 'Your order confirmation',
    html: '<p>Thanks — we got your order.</p>'
  })
});

const data = await res.json();
if (!res.ok) throw new Error(JSON.stringify(data));
return data;

Adjust steps.trigger.event… to match your trigger. html is preferred; message and text also work.

Sandbox vs production

Until the domain is verified, production custom from stays locked. Use sandbox vs production or POST /api/email/send/test for API rehearsal.

After you send

Check Email Logs or the logs API. Delivery events can go to a webhook on Pro+.

Where to next?