Skip to content

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.

Zapier signs in with an API key of its own:

  1. 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).
  2. 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.
  3. Turn the Zap on. Its subscription shows in Settings › Integrations › Zapier, by the event it starts on.

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.

TriggerEventThe key needs
New Paid Ordercommerce.order.paidautomations:write, commerce:read
Order Refundedcommerce.order.refundedautomations:write, commerce:read
Order Fulfilledcommerce.order.fulfilledautomations:write, commerce:read
Order Cancelledcommerce.order.cancelledautomations:write, commerce:read
Order Disputedcommerce.order.disputedautomations:write, commerce:read
New Productcommerce.product.createdautomations:write, commerce:read
Product Updatedcommerce.product.updatedautomations:write, commerce:read
Product Deletedcommerce.product.deletedautomations:write, commerce:read
New Appointmentcrm.appointment.createdautomations:write, crm:read
Appointment Rescheduledcrm.appointment.rescheduledautomations:write, crm:read
Appointment Cancelledcrm.appointment.cancelledautomations:write, crm:read
Appointment Updatedcrm.appointment.updatedautomations:write, crm:read
New Invoicecrm.invoice.createdautomations:write, crm:read
Invoice Sentcrm.invoice.sentautomations:write, crm:read
Invoice Paidcrm.invoice.paidautomations:write, crm:read
Invoice Voidedcrm.invoice.voidedautomations:write, crm:read
New Paymentcrm.payment.succeededautomations:write, crm:read
Payment Failedcrm.payment.failedautomations:write, crm:read
Payment Refundedcrm.payment.refundedautomations:write, crm:read
Payment Disputedcrm.payment.disputedautomations:write, crm:read
New Subscriptioncrm.subscription.createdautomations:write, crm:read
Subscription Status Changedcrm.subscription.updatedautomations:write, crm:read
New Messagecrm.message.receivedautomations:write, crm:read
Mailing Sentcrm.mailing.sentautomations:write, crm:read
Mailing Deliveredcrm.mailing.deliveredautomations:write, crm:read
Lead List Readycrm.lead_list.readyautomations: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.

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