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.
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
- A ConnectMachine account with onboarding finished.
- Zapier access on your ConnectMachine plan: a paid subscription, a seat on an organization license, or an active Premium trial.
- A Zapier account. Zapier’s free tier includes 100 tasks per month, which is enough for most single-step Zaps.
Connect your account
You connect ConnectMachine to Zapier once. After that, every Zap you build can reuse the same connection.
- In Zapier, create a Zap and search for ConnectMachine.
- Pick a ConnectMachine trigger or action, then click Sign in.
- ConnectMachine opens a consent page. Sign in with Google or with a code sent to your email. You are never asked for a password.
- Review the permissions you are granting, then click Approve and continue.
- Zapier returns to the Zap editor with your ConnectMachine account connected and ready to use.
What you are approving
- Read your account details
- Read contacts and networks
- Create and update contacts
- Manage its own trigger subscriptions
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.
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.
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.
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
- Email values must be valid email addresses.
- Website, social, and map links must start with http:// or https://.
- Latitude must be between -90 and 90. Longitude must be between -180 and 180.
- Blank fields are ignored. Update Contact never clears a value by leaving the field empty.
- The contact and network you pick must belong to the connected ConnectMachine account.
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.
Troubleshooting
Most problems come down to the connection, your plan, or a value that failed validation. Find the symptom below:
- Zapier says your plan does not include Zapier access
- A step fails asking you to reconnect, or says a permission is missing
- The trigger stopped firing and Zapier reports a 410 Gone
- An action reports that the contact could not be found
- An action rejects an email address or a URL
- You hit the limit for active ConnectMachine Zaps
- Testing the trigger returns no records
- Sign-in keeps failing
ConnectMachine API reference for Zapier
This reference documents every ConnectMachine API endpoint called by the native integration.
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.
Endpoints
OAuth 2.0 with PKCE
- GET
/api/v1/oauth/authorize - POST
/api/v1/oauth/token - GET
/api/v1/oauth/me
Instant trigger subscriptions
- POST
/api/v1/zapier/subscriptions - DELETE
/api/v1/zapier/subscriptions/{id}
Contact actions
- POST
/api/v1/zapier/contacts - PATCH
/api/v1/zapier/contacts/{id}
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.
{
"first_name": "John",
"last_name": "Doe",
"company": "Example Inc.",
"emails": [{"label": "work", "value": "john.doe@example.com"}],
"phones": [{"label": "mobile", "value": "+1234567890"}]
}
Errors
Errors use a consistent JSON body. A 429 response also includes a Retry-After header.
{
"error": "invalid_request",
"error_description": "Invalid contact payload"
}
| Status Codes | Meaning |
|---|---|
| 400 | invalid_request, invalid_event_type, ... |
| 401 | invalid_client, invalid_grant, ... |
| 403 | insufficient_scope, onboarding_required, ... |
| 404 | not_found |
| 409 | conflict |
| 429 | subscription_limit, rate_limited |
| 503 | server_error, temporarily_unavailable |
Still stuck?
Send us the name of your Zap and the error Zapier showed you, and we will take a look.