Granola Webhooks & Events
Contents
-
Overview
-
Prerequisites
-
Instructions
-
Output
-
Error Handling
-
Examples
-
Resources
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
-
Zapier Webhooks
-
Webhook Best Practices
Next Steps
Proceed to granola-performance-tuning for optimization techniques.