attio-webhooks-events

Featured

Implement Attio v2 webhooks -- subscribe to record/list/note/task events, verify signatures, filter by object or attribute, and handle idempotently. Trigger: "attio webhook", "attio events", "attio webhook signature", "handle attio events", "attio notifications", "attio real-time".

AI & Automation 2,266 stars 315 forks Updated today MIT

Install

View on GitHub

Quality Score: 99/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Attio Webhooks & Events ## Overview Attio v2 webhooks deliver real-time CRM event notifications to your HTTPS endpoint. Subscribe to record, list-entry, note, and task events with optional object or attribute filters to reduce volume. Webhooks are managed via `POST /v2/webhooks` and verified with HMAC-SHA256 signatures using a timestamp-prefixed payload. ## Webhook Registration ```typescript const webhook = await fetch("https://api.attio.com/v2/webhooks", { method: "POST", headers: { "Authorization": `Bearer ${process.env.ATTIO_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ target_url: "https://yourapp.com/webhooks/attio", subscriptions: [ { event_type: "record.created" }, { event_type: "record.updated", filter: { object: { $eq: "deals" } } }, { event_type: "note.created" }, { event_type: "task.completed" }, ], }), }); ``` ## Signature Verification ```typescript import crypto from "crypto"; import { Request, Response, NextFunction } from "express"; function verifyAttioSignature(req: Request, res: Response, next: NextFunction) { const signature = req.headers["x-attio-signature"] as string; const timestamp = req.headers["x-attio-timestamp"] as string; const age = Date.now() - parseInt(timestamp) * 1000; if (age > 300_000) return res.status(401).json({ error: "Timestamp too old" }); const payload = `${timestamp}.${req.body.toString()}`; const expected = crypto.createHmac("sha256", p...

Details

Author
jeremylongshore
Repository
jeremylongshore/claude-code-plugins-plus-skills
Created
7 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category