SendBeam

Typeform setup

Connect SendBeam to Typeform: what you need, the steps, and the code.

View as Markdown

Via automation

Typeform is where a lot of sign-ups actually happen: a waitlist, a quiz, a lead form. Connecting it to SendBeam means every response with an email address becomes a contact straight away, on the right list, without exporting anything.

Before you start

  • An account with Typeform
  • An n8n, Zapier or Make account
  • A SendBeam API key, or a form ID

Set it up

  1. Pick your automation tool. n8n with the official SendBeam node, Make or Zapier. Each connects to Typeform with its own trigger, shown below.
  2. Create an API key. Settings → API keys in SendBeam, with contacts:write, and lists:write if the workflow adds people to a list. The full key is shown once. To send SendBeam events out instead, add an endpoint under Settings → Webhooks.
  3. Map the fields and test. Map the fields between Typeform and SendBeam, run the workflow once with your own address, and check the result before switching it on.

Code

In n8n: Typeform to SendBeam

n8n workflow

1. Typeform Trigger, with the form chosen
2. SendBeam → Contact → Create or update
     Email       the answer to the email question from step 1
     First name  the first name, if there is one
     Source      typeform
3. SendBeam → Contact → Add to list
     Contact     By email, the same expression as step 2
     List        From list, then pick the list by name

Install the SendBeam node from Settings → Community nodes (n8n-nodes-sendbeam). Adding someone who is already a contact, or already on the list, succeeds, so the workflow is safe to re-run.

In Make: Typeform to the REST API

Make scenario

Module 1: the Typeform module that watches a form for new responses
Module 2: HTTP → Make a request
URL:          https://sendbeam.io/api/v1/contacts
Method:       POST
Headers:      x-api-key = sb_live_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Body type:    Raw
Content type: JSON (application/json)
Request content:
{
  "email": "{{1.email}}",
  "first_name": "{{1.first_name}}",
  "source": "typeform"
}

Replace {{1.email}} and {{1.first_name}} with the answer to the email question and the name, mapped from module 1. A 409 answer means the contact already exists; route it to GET /api/v1/contacts?q= with the same address if you need the contact’s id.

In Zapier: Typeform to the REST API

Zap

Trigger  Typeform → New Entry
Action   Webhooks by Zapier → POST
URL           https://sendbeam.io/api/v1/contacts
Payload type  json
Data
  email       the answer to the email question
  first_name  the first name
  source      typeform
Headers
  x-api-key   sb_live_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

Webhooks by Zapier is available on Zapier’s paid plans. The SendBeam app for Zapier will replace this step with a Create Contact action once it is listed in Zapier’s directory.

Things to know

  • Make the email question required in Typeform, so every response can become a contact.
  • Add a consent question and only run the Add to list step when it is answered yes.
  • Only add people to a marketing list if they agreed to hear from you. Someone who only bought or booked can still get receipts and reminders through Send transactional.

← Back to the Typeform integration

Stuck, or found a gap? Ask in the community — questions, tips and every release note, with this page as the source of truth.