W
WGF Group

Automation

Integrations & API

Let your team and the Zapia AI agent read and change the same live data the dashboard shows — over a simple, authenticated HTTP API.

API needs a key

Set a ZAPIA_API_KEY environment variable for this site to switch the API on. Until then every request is safely rejected.

Built for agents

Zapia (or any tool) drives the CRM through plain JSON requests.

Key-protected

Every call must carry the shared secret. No key, no access.

Always in sync

API changes and team edits share one database and feed the same charts.

Authentication

Send the key on every request using either header:

Authorization: Bearer YOUR_ZAPIA_API_KEY
X-API-Key: YOUR_ZAPIA_API_KEY

Endpoints

GET/api/contactsList every contact.
POST/api/contactsCreate a contact.
PATCH/api/contacts/:idUpdate a contact (name, status, owner, …).
DELETE/api/contacts/:idRemove a contact.
GET/api/dealsList every deal.
POST/api/dealsOpen a new deal.
PATCH/api/deals/:idUpdate a deal (stage, value, …).
DELETE/api/deals/:idRemove a deal.
GET/api/activitiesList the latest logged activity.
POST/api/activitiesLog a touchpoint.

Example: add a lead

A request Zapia might send when it captures a new inbound lead:

curl -X POST "$SITE_URL/api/contacts" \
  -H "Authorization: Bearer $ZAPIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Marion Delacroix",
    "email": "marion@fabrikat.com",
    "company": "Fabrikat",
    "status": "lead",
    "owner": "Dana Whitlock"
  }'

Valid contact statuses: lead · prospect · customer · churned. Valid deal stages: lead · qualified · proposal · negotiation · won · lost.