granola-webhooks-events
Granola Webhooks & Events
Contents
Overview
Build event-driven automations using Granola's Zapier webhooks and event triggers for real-time meeting note processing.
Prerequisites
- Granola Pro or Business plan
- Zapier account
- Webhook endpoint (or Zapier as processor)
Available Events
| Event | Description | Key Data |
|---|---|---|
| New Note Created | Notes ready after meeting | Full note, attendees, actions |
| Note Updated | Notes manually edited | Changes diff |
| Note Shared | Notes shared with others | Share details |
Instructions
Step 1: Set Up Zapier Integration
Configure Granola trigger in Zapier. Select events to listen for. Get webhook URL for custom endpoints.
Step 2: Build Event Handler
Create endpoint that receives events, validates them, and routes to appropriate processors (task creation, notifications, CRM updates).
Step 3: Implement Event Filtering
Filter by meeting type (title keywords), content (has action items), and attendees (external vs internal).
Step 4: Choose Processing Pattern
- Immediate: Process each event in real-time (~2 min latency)
- Batch: Queue events, process every 15 min (reduce noise)
- Conditional: Route based on attendee type, action count, duration
Step 5: Add Retry Logic
Implement exponential backoff with 3 retries. Send failures to dead letter queue for manual review.
See detailed implementation for event payload schemas, Express.js/Python handlers, filtering patterns, and monitoring metrics.
Output
- Webhook receiver processing events
- Event filtering reducing noise
- Retry logic handling transient failures
- Monitoring tracking event throughput
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Missed events | Endpoint down | Use reliable hosting, add health monitoring |
| Duplicate processing | Retry delivery | Implement idempotency with event IDs |
| Slow processing | Synchronous handling | Use async queue (Bull/SQS) |
| Invalid payload | Schema changed | Validate payload before processing |
Examples
Quick Webhook Test
set -euo pipefail
curl -X POST https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID \
-H "Content-Type: application/json" \
-d '{"event_type":"note.created","data":{"meeting_title":"Test","action_items":[]}}'
Resources
Next Steps
Proceed to granola-performance-tuning for optimization techniques.