Getting started

OpenContact captures a contact once and keeps it — and its subscription state — consistent across the tools you already use. Here’s the fastest path to a working sync.

1. Connect a provider

Go to Connections and pick a tool. There are two connection types:

  • API key — paste the credentials from your provider (e.g. Mailchimp, Klaviyo, ActiveCampaign). OpenContact verifies them and encrypts them at rest.
  • OAuth — click Connect and authorize in the provider’s own login screen (e.g. HubSpot, Salesforce, Google Sheets). No keys to copy.

Once connected, OpenContact pulls in that tool’s lists/audiences so you can target them.

See Connections & integrations for the full catalog.

2. Capture contacts

Contacts get into OpenContact a few ways:

  • Sources — a hosted capture endpoint you can point a form or SaaS product at. See Sources.
  • Import — pull existing contacts in from a connected tool. See Importing contacts.
  • API — POST contacts directly. See the Developer API.

Every contact lives in a canonical record with its email, fields, tags, and current subscription status.

3. Build a sync rule

A sync rule decides where a contact goes. In Sync Rules, create one:

  1. Trigger — when it fires (a contact is created, updated, unsubscribed, added to a list…).
  2. Filter — only continue for contacts that match (optional).
  3. Destinations — one or more providers and/or OpenContact lists to send to.

Use Test to dry-run the rule against a real or sample contact before you save — it shows exactly which destinations would fire and what would be sent.

See Sync rules for the details.

4. Keep suppression in sync

When someone unsubscribes, bounces, or marks spam in one provider, OpenContact can propagate that to every other connected tool automatically, so you never email someone who opted out. See Suppression & compliance.

That’s the whole loop: capture once → route with rules → keep state in sync.

Still stuck?

Send us your project ID and what you saw. Contact support.