Sources
A source is a capture point that feeds contacts into OpenContact. Each source has its own secure ingest URL and is tied to one or more lists, so you always know where a contact came from and where it landed.
Creating a source
In Sources, create one and give it a name (e.g. “Website footer form”, “Trial signup”). OpenContact generates a unique ingest token and connects the source to a same-named list automatically.
You can also capture leads through a connection. Use Custom Webhook for JSON sent by Zapier, Make, Typeform, LinkedIn Lead Gen, or your own backend, and Google Ads Lead Form for Google’s native lead payload. These connections get their receiving URL from the Webhooks page and create a provider-named source automatically on the first real submission.
Sending contacts
POST a contact to the source’s ingest URL:
curl -X POST https://app.opencontact.dev/ingest/YOUR_SOURCE_TOKEN \
-H "Content-Type: application/json" \
-d '{"email":"ana@example.com","first_name":"Ana","tags":["newsletter"]}'
The token in the URL is the credential — no other auth is needed, and the source (and its project) can’t be spoofed. Accepted fields include email (required), first_name, last_name, phone, company, country, tags, custom_fields, and consent.
A form or lead submission is treated as an opt-in, so brand-new contacts default to subscribed. An existing contact who previously unsubscribed is never silently re-subscribed by a form re-submission.
First-touch attribution
The source is recorded as a contact’s origin the first time OpenContact sees them and never changes on later updates — so your attribution stays clean even if the same person comes in again from somewhere else.
Rotating a token
If an ingest URL is ever exposed, rotate it from the source’s settings. The old token stops working immediately; update anywhere the old URL was used.
What happens next
Every captured contact flows through the pipeline: optional email verification, list membership, and your sync rules — which can fan it out to your ESPs and CRMs.
Still stuck?
Send us your project ID and what you saw. Contact support.