Guides
Zapier
Webhooks by Zapier recipes for posting, Catch Hook for events, and the MCP server for Zapier Agents.
There is no overads app in the Zapier directory yet. Webhooks by Zapier covers every call, and Zapier Agents can use the MCP server directly.
Create a scheduled post
| Webhooks by Zapier > Custom Request | |
|---|---|
| Method | POST |
| URL | https://api.overads.io/public/v1/posts |
| Data Pass-Through | No |
| Data | the JSON below |
| Headers | Authorization | Bearer sk_live_...; Content-Type | application/json; Idempotency-Key | the Zap run id |
{
"content": "{{copy}}",
"connectionIds": ["3f1c1a2e-6b2a-4a0e-9a5f-0d5a7d0f2b11"],
"scheduledAt": "{{publish_at}}"
}Zapier flattens the response, so the post id is data__id and the first warning code is warnings__0__code. Add a Filter step on warnings__0__code exactly matches APPROVAL_REQUIRED to branch.
List scheduled posts
| Webhooks by Zapier > GET | |
|---|---|
| URL | https://api.overads.io/public/v1/posts |
| Query String Params | status | scheduled, limit | 50 |
| Headers | Authorization | Bearer sk_live_... |
Receive events
- Add Webhooks by Zapier > Catch Raw Hook as the trigger and copy the URL. Catch Raw Hook keeps the body as a string, which is what the signature is computed over.
- Register it with
POST https://api.overads.io/public/v1/webhooks; store the returnedsecretin Zapier's storage or as a Code step secret. - Add a Code by Zapier (JavaScript) step that computes
crypto.createHmac('sha256', secret).update(rawBody).digest('hex')and compares it to theX-Overads-Signatureheader withcrypto.timingSafeEqual, then parses the JSON.
Zapier Agents
| Tools > Add MCP server | |
|---|---|
| Server URL | https://api.overads.io/public/v1/mcp |
| Authentication | Custom header |
| Header | Authorization |
| Value | Bearer sk_live_... |
Available on Zapier plans that allow custom MCP servers. The agent sees the same tool list as any other client.