Zapier
Digize’s Zapier app connects a workspace to other apps on Zapier without code. Its triggers start a Zap when something happens in the workspace, and its actions change things there from a Zap. It’s built on the same webhooks and public API as everything else here.
Connecting
Section titled “Connecting”Zapier signs in with an API key of its own:
- In Settings › API keys, make a key for Zapier with Automations: write, so Zaps can follow the workspace’s events; read on each module whose events your Zaps start on (CRM, Commerce); and write on each module your Zaps change (CRM, for every action below).
- In Zapier, make a Zap with Digize as its trigger or action, and paste the key when it asks to connect. Zapier checks it with
GET /api/v1/zapier/me, and names the connection after the workspace. - Turn the Zap on. Its subscription shows in Settings › Integrations › Zapier, by the event it starts on.
Triggers
Section titled “Triggers”Each trigger is a REST hook on one webhook event. Turning a Zap on subscribes it with POST /api/v1/hooks, and turning it off unsubscribes with DELETE /api/v1/hooks/{id}. Events arrive as the same signed deliveries any endpoint gets.
| Trigger | Event | The key needs |
|---|---|---|
| New Paid Order | commerce.order.paid | automations:write, commerce:read |
| Order Refunded | commerce.order.refunded | automations:write, commerce:read |
| Order Fulfilled | commerce.order.fulfilled | automations:write, commerce:read |
| Order Cancelled | commerce.order.cancelled | automations:write, commerce:read |
| Order Disputed | commerce.order.disputed | automations:write, commerce:read |
| New Product | commerce.product.created | automations:write, commerce:read |
| Product Updated | commerce.product.updated | automations:write, commerce:read |
| Product Deleted | commerce.product.deleted | automations:write, commerce:read |
| New Appointment | crm.appointment.created | automations:write, crm:read |
| Appointment Rescheduled | crm.appointment.rescheduled | automations:write, crm:read |
| Appointment Cancelled | crm.appointment.cancelled | automations:write, crm:read |
| Appointment Updated | crm.appointment.updated | automations:write, crm:read |
| New Invoice | crm.invoice.created | automations:write, crm:read |
| Invoice Sent | crm.invoice.sent | automations:write, crm:read |
| Invoice Paid | crm.invoice.paid | automations:write, crm:read |
| Invoice Voided | crm.invoice.voided | automations:write, crm:read |
| New Payment | crm.payment.succeeded | automations:write, crm:read |
| Payment Failed | crm.payment.failed | automations:write, crm:read |
| Payment Refunded | crm.payment.refunded | automations:write, crm:read |
| Payment Disputed | crm.payment.disputed | automations:write, crm:read |
| New Subscription | crm.subscription.created | automations:write, crm:read |
| Subscription Status Changed | crm.subscription.updated | automations:write, crm:read |
| New Message | crm.message.received | automations:write, crm:read |
| Mailing Sent | crm.mailing.sent | automations:write, crm:read |
| Mailing Delivered | crm.mailing.delivered | automations:write, crm:read |
| Lead List Ready | crm.lead_list.ready | automations:write, crm:read |
A Zap sees the record’s fields at the top level, with:
| Field | |
|---|---|
id |
The event’s id, which Zapier deduplicates on, so two refunds of one order are two triggers. |
record_id |
The record’s own id, such as the order’s. |
event |
The event’s name. |
created_at, workspace_id |
As in the delivery. |
Until a real event has come, the Zap editor shows examples from GET /api/v1/zapier/samples.
Actions
Section titled “Actions”Each action is one call to the public API, so it’s checked against the key’s permissions like any other. Money is in cents, as the API takes it: 150000 is $1,500.00.
| Action | Calls |
|---|---|
| Create Contact | POST /api/v1/contacts |
| Update Contact | PATCH /api/v1/contacts/{id} |
| Add Note to Contact | POST /api/v1/contacts/{id}/notes |
| Create Opportunity | POST /api/v1/opportunities |
| Create Invoice | POST /api/v1/invoices |
| Send Invoice | POST /api/v1/invoices/{id}/send |
| Find Contact (search) | GET /api/v1/contacts |