ConnectMachine Zapier integration: setup guide

Connect ConnectMachine to Zapier

Send every new and updated contact from ConnectMachine straight into the apps you already use, and write contacts back from those apps. This guide walks through connecting your account, the triggers and actions you get, the fields you can map, and how to fix the problems people run into most.

Connect your account Triggers and actions

Last updated August 2026

Before you start

The ConnectMachine app on Zapier gives you three triggers and two actions for your contacts. Triggers are instant, so a Zap runs within seconds of a contact changing instead of waiting for a polling interval.

Triggers: New, Updated, and Deleted Contact
Actions: Create Contact and Update Contact
Trigger speed: Instant. No polling delay
Sign-in: No password or API key needed

You will need

Connect your account

You connect ConnectMachine to Zapier once. After that, every Zap you build can reuse the same connection.

  1. In Zapier, create a Zap and search for ConnectMachine.
  2. Pick a ConnectMachine trigger or action, then click Sign in.
  3. ConnectMachine opens a consent page. Sign in with Google or with a code sent to your email. You are never asked for a password.
  4. Review the permissions you are granting, then click Approve and continue.
  5. Zapier returns to the Zap editor with your ConnectMachine account connected and ready to use.

What you are approving

Disconnecting

To revoke access, open My Apps in Zapier, find ConnectMachine, and remove the connection. Zaps that use it stop running until you connect again. Reconnect the same way if your plan changes or a security check closes the connection.

Triggers and actions

Triggers start a Zap when something happens in ConnectMachine. Actions let another app write into ConnectMachine.

Triggers

New Contact

A contact is added to your ConnectMachine account, whether you scanned a card, typed it in, or imported it.

Updated Contact

Any detail on an existing contact changes. Zapier receives the contact’s current values, not just the changed field.

Deleted Contact

A contact is removed. Single deletes, bulk deletes, delete all, and merges can all fire it. Zapier receives one item per deleted contact, including the details captured just before deletion so you can find the matching row in another app.

Actions

Create Contact

Adds a person or business contact to ConnectMachine from another app. First Name is required for every new contact. Company is optional and can be used with Contact Type set to Business. If you leave Network blank, the contact goes to your default network.

Update Contact

Changes fields on a contact that already exists. Contact ID is required: pick a recent contact from the dropdown, or choose Custom to map an ID from an earlier Zap step.

Good to know: Deleted Contact is a trigger only. There is no Delete Contact action, so a Zap can never delete a ConnectMachine contact on your behalf.

Build your first Zap

This walkthrough keeps a Google Sheet and ConnectMachine in step with each other. The same pattern works for any of the apps Zapier connects to.

Choose your trigger

Add ConnectMachine as the first step and pick a trigger event. This example uses Updated Contact, so the Zap runs every time a contact’s details change.

Pull a sample record

Click Test to load a sample contact. Samples let you map fields before a real event arrives. If nothing loads, add or edit a contact in ConnectMachine and test again.

Check what the trigger gives you

Expand the sample to see every field you can map into later steps: names, company, job title, primary email and phone, labeled values, locations, tags, and timestamps.

Map fields into the next app

Add your second app and drag ConnectMachine fields into it. Here a Google Sheets row feeds the Update Contact action, so edits made in the sheet flow back into ConnectMachine.

Handle deletions

Use the Deleted Contact trigger to keep other systems tidy. Look the contact up by ID or email in the destination app, then clear or archive the matching record.

Fields you can map

What a trigger gives you

Every trigger hands Zapier the full contact record, so you can map any of these into a later step.

Field What it holds
Item ID A stable ID for the event, so your Zap never runs twice for the same change.
Contact ID The ConnectMachine contact ID. Map this into Update Contact or store it in your other app.
Event Type Whether the contact was created, updated, or deleted.
Source Where the change came from. A value of zapier means one of your own Zaps made it.
Contact Type Person or business.
First Name, Last Name, Company, Job Title The core identity fields.
Label, Notes, Bio Your ConnectMachine label, private notes, and contact bio.
Primary Email, Primary Phone, Website The main contact values, ready to map straight into most apps.
Emails, Phones, Websites, Socials, Custom Labeled lists. Each entry has a label and a value.
Address, Where We Met Street, city, state, postcode, country, and coordinates.
Tags Tags on the contact, including event tags.
Created At, Updated At, Deleted At Timestamps in UTC.

What the actions accept

Create Contact and Update Contact take the same set of fields. Fill in only the ones you want to set.

Field Required Notes
Contact ID Update only Pick a recent contact from the dropdown, or choose Custom to map an ID from an earlier step.
Contact Type Optional Person or business. Defaults to person.
First Name Create only Required when creating any contact.
Company Optional Add a company name; use Contact Type Business for business contacts.
Last Name, Job Title, Label Optional Plain text fields.
Notes, Bio Optional Notes stay private to your account.
Network Optional Leave blank to use your default network.
Primary Email, Primary Phone, Website Optional Updates the current primary value, or creates one if there is none.
Emails, Phones, Websites, Socials, Custom Optional Up to five entries each. Every entry needs a label and a value.
Address, Where We Met Optional Street, city, state, postcode, country, and coordinates. Where We Met also takes a place name.

Validation rules

Prevent recursive Zaps

When a Zap creates or updates a ConnectMachine contact, that change fires the New Contact or Updated Contact trigger like any other change. If the same Zap listens for those triggers, it can set itself off again in a loop.

Every trigger record carries a Source field. Changes made by your own Zaps arrive with a source of zapier, so you can filter them out.

Add this filter right after your trigger

Source does not exactly match zapier

You only need this on Zaps that write back into ConnectMachine. A Zap that just sends contacts out to another app cannot loop.

Troubleshooting

Most problems come down to the connection, your plan, or a value that failed validation. Find the symptom below.

ConnectMachine API reference for Zapier

This reference documents every ConnectMachine API endpoint called by the native integration. These are production HTTPS endpoints; the integration does not call a sandbox, test, stage, or development API.

Production base URL: https://api.connectmachine.ai

Authentication and scopes

The integration uses OAuth 2.0 authorization code flow with PKCE. Protected endpoints require Authorization: Bearer <access_token>. Zapier requests the scopes user:read, contacts:read, contacts:write, and webhooks:write.

Successful token response

{
  "access_token": "<access-token>",
  "refresh_token": "<refresh-token>",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "user:read contacts:read contacts:write webhooks:write"
}

Endpoints

OAuth 2.0 with PKCE

Instant trigger subscriptions

Contact actions

Dynamic field options

Contact mutation JSON

Create Contact and Update Contact accept JSON with the following fields. Unknown fields are ignored. Blank values do not clear existing data.

JSON field Type Rules
type string person or business. Defaults to person on create.
first_name, last_name string first_name is required when creating any contact.
company, job_title string Optional business and role details.
notes, bio, network_id string network_id must belong to the connected account.
email, phone, website string Primary values; labels use email_label, phone_label, and website_label.
emails, phones, websites array Up to five { label, value } objects for each value type.
socials, custom array Up to five { label, value } objects for each collection.
address, where_we_met object Location fields: name, googlemap_uri, street, street2, city, state, country, postcode, latitude, longitude.

Instant trigger delivery

ConnectMachine sends one HTTPS POST to the subscription target URL. Created and updated events include current contact snapshots. Deleted events include contact_ids and, when available, the pre-delete snapshots in contacts. Zapier turns each contact into one trigger item whose Item ID combines the event and contact IDs.

Webhook payload

{
  "event_id": "event_01",
  "occurred_at": "2026-08-04T12:00:00Z",
  "source": "app",
  "source_id": "contact_01",
  "data": {
    "event_type": "contacts.updated",
    "contacts": [{
      "id": "contact_01",
      "type": "person",
      "first_name": "John",
      "last_name": "Doe",
      "primary_email": "john.doe@example.com",
      "updated_at": "2026-08-04T12:00:00Z"
    }]
  }
}

Errors

Errors use a consistent JSON body. A 429 response also includes a Retry-After header.

Error response

{
  "error": "invalid_request",
  "error_description": "Invalid contact payload"
}
Status Codes Meaning
400 invalid_request, invalid_event_type, invalid_contact_type, first_name_required, invalid_email, invalid_url, invalid_website, invalid_labeled_value, too_many_values, invalid_latitude, invalid_longitude, invalid_location_url, invalid_target_url The request is malformed or a field failed validation.
401 invalid_client, invalid_grant, invalid_token The OAuth client, grant, or bearer token is missing, expired, revoked, or invalid.
403 insufficient_scope, onboarding_required, premium_required, forbidden Reconnect with the required scopes, finish onboarding, or enable Zapier access for the account.
404 not_found The requested contact, account, or owned resource does not exist.
409 conflict The request conflicts with the current resource state.
429 subscription_limit, rate_limited Retry after the number of seconds in the Retry-After header.
503 server_error, temporarily_unavailable The service could not complete the request; retry with backoff.