Features
Capture contacts, decide where they go, and keep their status the same in every tool.
Start syncing · Browse integrations
| Feature | What it does |
|---|---|
| Connections | Link your email, CRM, data, scheduling and payment tools. |
| Contact capture | Take in forms, bookings, ad leads and JSON payloads. |
| Contacts and lists | One profile per contact, with status, source and history. |
| Sync rules | Route contacts by condition, with field mapping. |
| Triggers | Run on creation, update, suppression or list join. |
| Suppression sync | Carry unsubscribes, bounces and complaints across tools. |
| Email verification | Flag risky addresses before they reach a sender. |
| Enrichment | Add name and company details from the email address. |
| Contact importing | Pull existing audiences from connected tools. |
| List migration | Copy lists between providers without CSVs. |
| Developer API | Scoped keys, idempotency, sandbox, OpenAPI. |
| Outbound webhooks | Signed, retried events to your systems. |
| Reporting and activity | Trace capture, rules and syncs. |
| Team and roles | Separate projects and control access by role. |
Capture
Create a secure ingest URL per source. Each source keeps its identity and the first-touch attribution of every contact it creates. Calendly, Google Ads, Stripe, Google Sheets, Airtable and custom webhooks feed the same record. CSV imports and the REST API upsert by email within a project.
Route
A rule has a trigger, conditions and destinations. Send to all runs every matching destination. Route to first picks the first match in order. Dry-run a rule on a real or sample contact before saving: you see the matches and the outgoing fields, and nothing is sent.
Suppress
When a provider reports an unsubscribe, hard bounce or spam complaint, OpenContact updates the contact, logs the event, and passes it to the destinations your rules select. Provider retries are de-duplicated. An unsubscribed contact is not re-subscribed by a later form submission.
Verify and enrich
Verification checks for disposable, role-based, public-domain and block-listed addresses, and the result works as a rule condition. Enrichment adds company details from the domain.
Migrate
Stream a list from one provider into another. A preflight shows what will happen first. Progress separates fetched, pushed and failed contacts, and you can retry only the failures. Migrations skip sync rules and verification, so they do not trigger welcome flows.
Stay current
- Google Sheets, Airtable and Calendly resources auto-pull every 15 minutes.
- Stripe customers are polled every five minutes and reconciled daily.
- Verified Stripe events can create Pipedrive deals or activities.
Build on it
Project-scoped REST API, scoped keys, idempotent writes, incremental reads, sandbox keys, signed webhooks, an OpenAPI spec, a Laravel package and an MCP server.
Control access
Projects keep contacts, connections, rules and keys apart. Members are admins, editors or developers.