Antlytics logoAntlytics

Connect Antlytics to Zapier

Zapier connects Antlytics to thousands of apps — Slack, Notion, Google Sheets, HubSpot, and more — without writing code.

Option A: Webhooks (recommended)

Antlytics sends a signed HTTP POST to any URL when events fire. Use Zapier's Webhooks by Zapier trigger to catch them.

Steps

  1. In Zapier, create a new Zap. Choose Webhooks by ZapierCatch Hook as the trigger.
  2. Copy the webhook URL Zapier gives you (e.g. https://hooks.zapier.com/hooks/catch/…).
  3. In your Antlytics dashboard, go to Settings → WebhooksAdd webhook.
  4. Paste the URL, choose Daily summary and/or Pageview threshold, then click Create.
  5. Copy the signing secret shown once — paste it somewhere safe.
  6. Click Test in Antlytics to send a sample payload, then click Test trigger in Zapier to capture it.
  7. Add action steps in Zapier for whichever app you want to notify.

Example payload (daily summary)

{
  "event": "daily_summary",
  "site_id": "YOUR_SITE_ID",
  "site_name": "example.com",
  "period": "2026-04-11",
  "stats": {
    "visitors": 142,
    "pageviews": 387,
    "bounce_rate": 45,
    "top_pages": [{ "path": "/", "visitors": 80 }],
    "top_referrers": []
  },
  "timestamp": "2026-04-11T09:00:00Z"
}

Zapier maps each field automatically. Use stats.visitors or stats.pageviews in your action steps.


Option B: API polling via Zapier Schedule

Use a Schedule by Zapier trigger (daily) combined with a Webhooks by ZapierGET action to fetch stats on demand.

  1. Create a Zap with Schedule by ZapierEvery day as the trigger.
  2. Add a Webhooks by ZapierGET action step.
  3. Set the URL to:
    https://www.antlytics.com/api/v1/stats?site_id=YOUR_SITE_ID
    
  4. Under Headers, add:
    Authorization: Bearer ant_YOUR_TOKEN
    
  5. Map the returned visitors, pageviews, and bounce_rate to your next action step.

Create your API token in Settings → API tokens.


Verifying signatures

If your Zap processes the payload in a Code step, verify the X-Antlytics-Signature header to confirm the payload came from Antlytics:

const crypto = require('crypto');
const expected = 'sha256=' + crypto
  .createHmac('sha256', inputData.webhookSecret)
  .update(inputData.rawBody)
  .digest('hex');
const trusted = crypto.timingSafeEqual(
  Buffer.from(inputData.signature),
  Buffer.from(expected)
);

Need help?

Email support@antlytics.com with your site ID.

Something missing? Get in touch and we will update these docs.