COIFort Integrations & Webhooks
Connect COIFort to Zapier, Make, Slack or your own systems. Receive real-time events and create vendors programmatically.
Webhooks (outbound)
COIFort POSTs JSON to your endpoint when events happen. Configure them in Dashboard → Integrations.
Available events
| Event | When |
|---|---|
| vendor.created | A vendor was added |
| coi.requested | A COI request email was sent to a vendor |
| certificate.created | A certificate was uploaded and saved |
| certificate.status_changed | Status changed: valid → expiring → expired (or back) |
| certificate.deleted | A certificate was removed |
Payload & signature
Every delivery includes these headers:
X-COIFort-Event: certificate.status_changed
X-COIFort-Delivery: wh_<id>
X-COIFort-Signature: sha256=<hmac>
Verify the signature by computing HMAC-SHA256 of the raw request body with your webhook secret:
# Node.js
const crypto = require('crypto');
const sig = 'sha256=' + crypto.createHmac('sha256', SECRET).update(rawBody).digest('hex');
if (sig !== req.headers['x-coifort-signature']) throw new Error('bad signature');
Zapier: create vendors via API
- In COIFort open Dashboard → Integrations and generate an API key.
- In Zapier create a Webhook → POST action:
- URL: https://coifort.com/api/integrations/vendors
Headers: Authorization: Bearer <your API key>
Body: JSON — name, email, contactName, category - Trigger it from any Zapier app (forms, CRM, spreadsheets).
Verify your key:
curl -H "Authorization: Bearer cf_..." https://coifort.com/api/integrations/healthSlack example
Point a webhook at https://hooks.slack.com/services/... and select the certificate.status_changed event — your team gets instant alerts when a certificate expires.