On this page

This integration runs through Zapier, not a one-click connector: you connect the VGraple CRM app in Zapier with an API key, connect Google Sheets with its own Zapier app, and build Zaps that move data between them. VGraple CRM's six instant triggers (New Inbound Message, New Contact, New Lead, Lead Stage Changed, New Form Submission, Contact Opted Out), three actions (Send Template Message, Create or Update Contact, Create Lead) and Find Contact search are the building blocks.
What syncs
| Data | Direction | Timing |
|---|---|---|
| New lead (name, phone, email, pipeline, stage, source, campaign, custom fields) | VGraple CRM to Sheets | Instant trigger, row on Zapier's next run |
| New contact, contact opted out | VGraple CRM to Sheets | Instant |
| Inbound message text, sender, channel, time | VGraple CRM to Sheets | Instant |
| Lead stage change | VGraple CRM to Sheets | Instant |
| New or updated row with phone | Sheets to VGraple CRM (contact upsert, lead, template send) | Zapier polling interval |
Setup
- In VGraple CRM go to Settings, then API Keys, create a key named "Zapier" and copy it (Owner only).
- In Zapier, create a Zap. Search for VGraple CRM as the trigger or action app and connect it by pasting the API key; Zapier tests it with
GET /api/v1/meand labels the connection with your organisation. - Connect Google Sheets in the other step with its own Zapier authentication.
- Map the fields (the recipes below list the usual ones), test each step with real data, and turn the Zap on. A VGraple CRM trigger creates a webhook subscription that shows a "Zapier" badge under Settings, then Webhooks.
- Watch the first few runs in Zapier's history; errors from VGraple CRM name the exact field or Meta error.
Three recipes
- New Lead -> Create Spreadsheet Row. The founder's morning sheet fills itself with every lead, its source and campaign; add a Filter step for leads above a value.
- New or Updated Spreadsheet Row (status = Ship) -> Find Contact -> Send Template Message. An operations sheet drives shipping notifications with a utility template.
- Contact Opted Out -> Update Spreadsheet Row. Keeps an offline marketing list honest so nobody re-imports opted-out numbers.
Field mapping that works
Map the lead's phone to a column formatted as text (Sheets drops leading plus signs and zeros from numbers), keep created time as ISO text, and add a column for the VGraple CRM lead ID so later updates can find the row. For Sheets-to-VGraple Zaps, the sheet needs one header row and a phone column in international format; the Create or Update Contact action upserts by phone, so re-running a Zap never duplicates a contact.
How the connection works
VGraple CRM's Zapier app is a thin layer over the public REST API. When you turn on a Zap that starts with a VGraple CRM trigger, Zapier calls POST /api/v1/hooks with its callback URL and the event name, which creates a signed webhook subscription in your workspace; the event is delivered the moment it happens, not on a polling schedule. When a Zap ends with a VGraple CRM action, Zapier calls the matching endpoint (POST /api/v1/contacts, POST /api/v1/leads or POST /api/v1/messages) with your API key, and the result, including any Meta error on a template send, is returned to the Zap's run history in plain words. Dynamic dropdowns for templates and pipelines load live from GET /api/v1/templates and GET /api/v1/pipelines, so a Zap always offers your current approved templates. Because the subscription lives in the same table as Settings, Webhooks, it shows there with a "Zapier" badge and a delivery count, and it is removed cleanly when the Zap is turned off.
Testing before going live
Build the Zap against a test contact (your own number) first: run the trigger with real data, check the mapped fields in Zapier's test output, send the template to yourself and read it on a handset. For Google Sheets-to-VGraple Zaps, confirm the phone reaches VGraple CRM in international format with no spaces or leading zero; for VGraple-to-Google Sheets Zaps, confirm the record created in Google Sheets carries the VGraple CRM ID so later updates can find it. Turn the Zap on only after both directions behave, and watch the first day's runs in Zapier's history.
Limits and gotchas
- Sends from Zapier must use an approved template; free-form messages are not available outside the inbox and flows. Consent, messaging limits, the US marketing pause and delivery protection apply exactly as in the app.
- API keys are Owner-only secrets. Deleting the "Zapier" endpoint in Settings breaks the Zap until it is turned off and on.
- The rate limit is 600 requests per key per hour; bulk backfills should run in batches.
- Multi-step Zaps, filters and paths need a paid Zapier plan (a Zapier limit, not ours).
- Phone numbers must be in international format for Create or Update Contact and Send Template Message; use Zapier's Formatter to strip spaces and leading zeros.
The Zapier help article documents every trigger and action field; the REST API quickstart covers anything Zapier has no step for yet.