SendBeam

Integrations · Apps you already use

SendBeam and Shopify

Add Shopify customers to SendBeam as contacts, and tag the ones who agreed to marketing.

A Shopify store collects customers every day. Connecting it to SendBeam adds each new customer as a contact, so order follow-ups and store news go out from the same place as the rest of your email.

Native integration: no

SendBeam has no Shopify app of its own. The routes below connect the two through n8n, Make or Zapier today, with the SendBeam node in n8n doing the SendBeam side for you.

How it works

  1. Pick your automation tool. n8n with the official SendBeam node, Make or Zapier. Each connects to Shopify 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 Shopify and SendBeam, run the workflow once with your own address, and check the result before switching it on.

Code

In n8n: Shopify to SendBeam

n8n workflow
1. Shopify Trigger, with a customer-created topic
2. SendBeam → Contact → Create or update
     Email       the customer's email from step 1
     First name  the first name, if there is one
     Source      shopify
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: Shopify to the REST API

Make scenario
Module 1: the Shopify module that watches for new customers
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": "shopify"
}

Replace {{1.email}} and {{1.first_name}} with the customer's email 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: Shopify to the REST API

Zap
Trigger  Shopify → New Customer
Action   Webhooks by Zapier → POST
URL           https://sendbeam.io/api/v1/contacts
Payload type  json
Data
  email       the customer's email
  first_name  the first name
  source      shopify
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

  • Shopify records whether a customer accepted email marketing; only run the Add to list step when it says they did.
  • 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.

Go further

Also: Astro, Next.js, Hugo, Eleventy, WordPress, Cloudflare Pages, Netlify, Vercel, Zapier, Make, n8n, Typeform, Tally, Jotform, Google Sheets, Airtable, Notion, Calendly, Eventbrite, Webflow, HubSpot, Slack.