When someone gives you their email in a DM, Ellipsend can subscribe them to your Beehiiv publication a second later. It's one request. New to API requests? Start with Send Contact Info to Your Other Tools With API Requests.
Before You Start
You need to be an Owner or Admin of the Beehiiv workspace.
Beehiiv asks you to finish a quick identity verification before it gives out API keys.
Get Your API Key and Publication ID
In Beehiiv, open Settings → Workspace Settings → API. Click Create New API Key, name it Ellipsend, and copy it. Beehiiv only shows it once. The Publication ID sits on the same page, below your keys. It starts with pub_.
Connect Beehiiv to Ellipsend
In Ellipsend, go to Settings → Integrations → HTTP requests and click Add request. Name it Add contact to Beehiiv, pick Create · POST, and paste this address with your publication ID in it:
https://api.beehiiv.com/v2/publications/YOUR_PUBLICATION_ID/subscriptions
Open Connection and click Add connection:
Connection name: Beehiiv
Connection method: API token (Bearer)
Paste your key, and put
https://api.beehiiv.comunder App addresses.
Set What Gets Sent
Click Edit as JSON and paste:
{"email": "{{ contact.email }}", "send_welcome_email": true, "utm_source": "instagram-dm"}
The parts in double curly braces, like {{ contact.email }}, are variables. When the request runs, Ellipsend swaps each one for that contact's real details, so paste them exactly as they are. To add a different detail, click inside the box where it should go, click Insert variable just above the box, and pick it from the list. More on variables.
Send a test request. A 200 means Beehiiv accepted it.
Sending to More Than One List?
A Beehiiv publication has one subscriber list, so one request covers every automation. If you want to tell different DM sources apart in Beehiiv, open Add contact to Beehiiv, click More, then Duplicate request, and give each copy its own utm_source (or its own automation ID from the section below). Then pick the matching request in each automation.
Add It to Your Automation
In your automation's DM steps, add Ask for Email, then Run API Request with Add contact to Beehiiv, then your freebie message. You can run the same request from a saved response under After sending.
Optional: Tag or Sort Them in Beehiiv
Beehiiv doesn't take a tag or list in this request. To sort these subscribers, create an automation in Beehiiv with the Add by API trigger, then add its ID to the JSON as "automation_ids": ["YOUR_AUTOMATION_ID"]. The automation can tag them or send a welcome sequence. The utm_source above also lets you filter DM subscribers in Beehiiv.
Good to Know
Set
"send_welcome_email": falseif you'd rather not send Beehiiv's welcome email.Beehiiv saves first names as a custom field. To send one, the field must already exist in Beehiiv, then add
"custom_fields": [{"name": "First Name", "value": "{{ contact.first_name }}"}]using your field's exact name.Check the Activity tab if someone doesn't show up. It shows what was sent and Beehiiv's reply for every run.


