Send your cards to any CRM
Recipes for Zapier and Make · cardlio 3.2 and later
cardlio can post every card you save to a web address you choose. Point that address at Zapier or Make and each new card can become a contact in HubSpot, a lead in Salesforce, a person in Pipedrive, a row in Google Sheets — or go to almost any of the thousands of apps those services connect to. No plug-in to install, nothing extra to buy from us, and cardlio needs no account.
The webhook itself costs nothing extra in cardlio. Zapier and Make have their own free and paid plans; a simple two-step Zap or Make scenario usually fits a free plan.
1. In cardlio
- Open Settings → CRM on the Mac, or Settings on iPhone and iPad, and find Send new cards to a webhook.
- Paste the address Zapier or Make gives you (below) and switch the toggle on.
- Tap Send test. cardlio posts a made-up contact — never one of yours — so you can map the fields before any real card goes out.
From then on every card you save is posted once, as it is saved. Switching the webhook on does not send your existing library. The card photo is never sent.
2a. With Zapier
- In Zapier, create a Zap. For the trigger choose Webhooks by Zapier and the event Catch Hook. Copy the URL it shows (it starts with
https://hooks.zapier.com/hooks/catch/) into cardlio. - Tap Send test in cardlio, then Test trigger in Zapier. It finds the test contact, “Wei Ming Tan, Meridian Shipping”, with every field listed.
- Add a Filter step: Only continue if
Is Test→ (Boolean) Is false. Your test contact then never reaches your CRM. - Add the action for your system and map the fields — see the tables below. Turn the Zap on.
2b. With Make
- In Make, create a scenario. Add the Webhooks app, trigger Custom webhook, click Add, name it “cardlio”, and copy the address into cardlio.
- While Make shows “waiting for data”, tap Send test in cardlio. Make reports Successfully determined and now knows every field.
- Between the webhook and the next module, set a filter:
isTest→ Equal to →false. - Add the module for your system and map the fields — see below. Switch scheduling to Immediately and turn the scenario on.
Two fields are lists: emails and leadInterests. In Make, use get(emails; 1) for the first address and join(leadInterests; ", ") for the interests. Zapier shows them as text you can map directly.
3. Mapping for popular systems
The field names on the left are exactly what cardlio sends. Map only what your system has a place for; empty fields arrive as empty text.
HubSpotCreate contact
Zapier: action Create Contact — or Create or Update Contact, which uses the email to avoid duplicates. Make: HubSpot CRM → Create a Contact.
| cardlio | HubSpot |
|---|---|
firstName, lastName | First name, Last name |
emails (first) | |
title | Job title |
company | Company name |
phone, mobile | Phone number, Mobile phone number |
website | Website URL |
street, city, postalCode, country | Street address, City, Postal code, Country/Region |
leadRating | Lead status, or a custom property |
eventTag, notes | a custom “Met at” property, or a note |
SalesforceCreate lead
Zapier: action Create Record, object Lead. Make: Salesforce → Create a Record, type Lead. Salesforce requires Last Name and Company on a lead — for cards without one, set a default (Zapier: in the field’s options; Make: ifempty(company; "Unknown")).
| cardlio | Salesforce Lead |
|---|---|
firstName, lastName, honorific | First Name, Last Name, Salutation |
title, company | Title, Company |
emails (first), phone, mobile, fax | Email, Phone, Mobile, Fax |
website, industry | Website, Industry |
street, city, postalCode, country | Street, City, Zip/Postal Code, Country |
leadRating | Rating — cardlio’s Hot / Warm / Cold are Salesforce’s own values |
| “Business Card” (typed) | Lead Source |
eventTag, leadInterests, notes | Description |
PipedriveCreate person
Zapier: Create Person (optionally first Find or Create Organization with company, then link it). Make: Pipedrive CRM → Create a Person. To start a lead as well, add Create Lead with the person you just created.
| cardlio | Pipedrive |
|---|---|
firstName + lastName | Name |
emails (first), mobile or phone | Email, Phone |
company | Organization |
leadRating, eventTag | custom fields, or a label |
Google SheetsOne row per card
Make a sheet with a header row — for example Scanned, First name, Last name, Title, Company, Email, Phone, Mobile, City, Country, Event, Lead rating, Interests, Notes. Zapier: Google Sheets → Create Spreadsheet Row. Make: Google Sheets → Add a Row. Map one cardlio field to each column.
Anything else
Zoho CRM, Microsoft Dynamics, Airtable, Notion, monday.com, Slack, Microsoft Teams, Mailchimp — the steps are the same: the cardlio trigger above, then that app’s “create contact” or “create record” action. A Slack or Teams message (“New hot lead from SMM: Wei Ming Tan, Meridian Shipping”) is a nice way to tell the team at the stand.
4. Every field cardlio sends
One JSON object per card, sent as an HTTP POST with Content-Type: application/json. Every key is always present; a field the card does not have is an empty string (or an empty list).
| Field | What it holds |
|---|---|
id | The card’s permanent identifier. Stays the same for the life of the card — useful to recognise a card you have already received. |
scannedAt | When it was saved, ISO 8601 in UTC (2026-10-03T08:15:00Z). |
honorific, firstName, lastName | The name as printed: “Capt.”, “Dr.” go in honorific. |
title, company | Job title and company, as printed on the card. |
emails | A list of every address on the card, the main one first. |
phone, mobile, fax | In international format (+65 9123 4567). |
website, linkedin, wechat | As found on the card or in its QR code. |
building, street, unit, postalCode, city, country | The address in parts. A district or ward stays in street; city is the city alone. |
industry | The industry tag, from your own list if you set one up. |
eventTag | Where you met (Event mode), e.g. “SMM 2026”. |
leadRating | Hot, Warm, Cold or empty — as you rated the card when you saved it. |
leadInterests | A list of the interest chips you ticked (“Demo requested”, “Pricing”). |
notes | The card’s notes, including a voice note you recorded. |
translatedTitle, translatedCompany, translatedAddress | Only if you translated a foreign-language card; otherwise empty. |
isTest | true only for the made-up contact from Send test. |
source | Always cardlio. |
The test contact, as sent (spaced out here for reading)
{
"building" : "Asia Square Tower 2",
"city" : "Singapore",
"company" : "Meridian Shipping Pte Ltd",
"country" : "Singapore",
"emails" : [ "weiming.tan@example.com" ],
"eventTag" : "Sea Asia 2026",
"fax" : "",
"firstName" : "Wei Ming",
"honorific" : "",
"id" : "00000000-0000-0000-0000-000000000000",
"industry" : "",
"isTest" : true,
"lastName" : "Tan",
"leadInterests" : [ "Bunkering", "Demo requested" ],
"leadRating" : "Hot",
"linkedin" : "",
"mobile" : "+65 9123 4567",
"notes" : "",
"phone" : "",
"postalCode" : "018961",
"scannedAt" : "2026-10-03T08:15:00Z",
"source" : "cardlio",
"street" : "12 Marina View",
"title" : "Fleet Operations Manager",
"translatedAddress" : "",
"translatedCompany" : "",
"translatedTitle" : "",
"unit" : "#25-06",
"website" : "",
"wechat" : ""
}
Good to know
- Sent once, when you save. Editing a card later, or changing its rating, does not post it again.
- No automatic retries. A duplicate lead is more annoying than a missing one. If a post fails, cardlio shows a banner with Send again, so nothing is lost silently.
- Avoid duplicates in your CRM with a “find or create” action matched on the email, or by storing cardlio’s
idin a custom field. - https only. The address must begin with
https://. Zapier and Make put a secret token in the address itself — treat the whole address like a password. - Where your cards go. This is the only cardlio feature that sends your cards to a destination you choose, and it is off until you switch it on. Once a card reaches your Zapier or Make address, it is handled by that service under its terms — not by cardlio. No server of ours is in the path. See the privacy policy.
Questions or a system that doesn’t fit? support@cardlio.app