# n8n

Use SendBeam from n8n: keep contacts in step with the rest of your stack, move people on and off lists, tag them, send email, and start workflows from what happens in your workspace.

The SendBeam node for [n8n](https://n8n.io) connects a workflow to one SendBeam
workspace. It comes as two nodes: **SendBeam**, with the actions below, and the
**SendBeam Trigger**, which starts a workflow when something happens in the workspace — see
[SendBeam Trigger](https://sendbeam.io/docs/n8n/trigger).

## What the node does

| Resource | Actions |
| --- | --- |
| **Automation** | Start for contact, Get many |
| **Campaign** | Create, Get, Get many, Get report, Send (now or scheduled), Duplicate (optionally to non-openers), Delete |
| **Contact** | Create or update, Get, Get many, Update, Unsubscribe, Delete, Add to list, Remove from list, Add tag, Remove tag |
| **Email** | Send to contact, Send transactional |
| **List** | Create, Get many |
| **Tag** | Create, Get many |

- Contacts are picked **by email** by default — the address the workflow already has — or
  from a searchable list, or by ID.
- Lists, tags, segments and automations are chosen by name. Adding a tag that does not exist yet creates
  it.
- Adding a tag or a list membership a contact already has succeeds, so a workflow can be re-run safely.
- **Start for contact** works on active automations that have an API trigger, for contacts
  who are subscribed and not already in that automation.
- **Send to contact** only mails subscribed contacts. **Send transactional** is
  for mail a person asked for, such as receipts and password resets, and goes to any address except ones
  that bounced or marked mail as spam.

## Install it

1. In n8n, go to **Settings → Community nodes** and choose **Install**. Only the
  instance owner and admins can install community nodes.
2. Enter `n8n-nodes-sendbeam`, confirm, and wait for n8n to finish installing it.
3. Open the nodes panel and search for **SendBeam**.

The node is tested with n8n 2.38, which needs Node.js 24 or later if you run n8n yourself.

## Connect it

1. In SendBeam, go to [Settings → API keys](https://sendbeam.io/settings/api-keys) and create a key for this n8n
  instance, with the permissions below. Giving each n8n instance its own key means you can replace one
  without disturbing anything else.
2. In n8n, add a **SendBeam API** credential and paste the key. Saving it runs a connection
  test that reads your contacts.
3. Use that credential on every SendBeam node in the workflow.

## Which permissions each action needs

Give the key only what the workflow uses.

| Permission | Needed for |
| --- | --- |
| `contacts:read` | The credential test, and finding contacts by email |
| `contacts:write` | Creating, updating, unsubscribing and deleting contacts |
| `lists:read / lists:write` | Choosing a list; adding and removing members; creating lists |
| `tags:read / tags:write` | Choosing a tag; adding and removing tags; creating tags |
| `campaigns:read / campaigns:write` | Finding and reporting on campaigns; creating, sending, duplicating and deleting them; sending email to a contact |
| `automations:read / automations:write` | Choosing an automation; starting one for a contact |
| `segments:read` | Choosing a segment as a campaign audience |
| `transactional:send` | Sending transactional email to any address |
| `webhooks:read / webhooks:write` | The SendBeam Trigger, which sets up and removes its own endpoint |

## Example workflows

- **Add new customers to a list.** A Stripe or Shopify trigger → *Contact → Create or update* with the email and name mapped from the order → *Contact → Add to list*, picking the
  list by name. Re-running it for an existing customer changes nothing.
- **Tag people by what they did.** A Typeform or Tally trigger → *Contact → Add tag*,
  with the contact picked by the email from the form and the tag typed as a name, such as
  `webinar-2026`.
- **Start an onboarding sequence from your app.** A Webhook node your app calls on signup →
  *Contact → Create or update* → *Automation → Start for contact*.
- **Tell your team about unsubscribes.** The SendBeam Trigger with *Contact Unsubscribed* → a Slack node posting `{{ $json.data.contact.email }}`.
- **Send a receipt.** An order webhook → *Email → Send transactional*, with the
  customer's email in **To**.

## Source and releases

The node is open source under the MIT licence. The code, issues and release notes are on
[GitHub](https://github.com/sendbeam-io/n8n-nodes-sendbeam), and each release is
published to [npm](https://www.npmjs.com/package/n8n-nodes-sendbeam) by the
repository's own release workflow.

---
Source: https://sendbeam.io/docs/n8n
