Implement Apollo.io webhook handling. Use when receiving Apollo webhooks, processing event notifications, or building event-driven integrations. Trigger with phrases like "apollo webhooks", "apollo events", "apollo notifications", "apollo webhook handler", "apollo triggers".
Install with Tessl CLI
npx tessl i github:jeremylongshore/claude-code-plugins-plus-skills --skill apollo-webhooks-events88
Quality
83%
Does it follow best practices?
Impact
100%
1.63xAverage score across 3 eval scenarios
Webhook signature verification
Correct file path
100%
100%
Express Router used
100%
100%
HMAC SHA-256 algorithm
100%
100%
TimingSafeEqual comparison
100%
100%
Correct signature header
100%
100%
Correct env variable name
100%
100%
500 for unconfigured secret
100%
100%
401 for missing signature
0%
100%
401 for invalid signature
100%
100%
200 received:true on success
100%
100%
Webhook endpoint path
100%
100%
Without context: $0.7046 · 5m 29s · 36 turns · 36 in / 9,843 out tokens
With context: $0.7933 · 4m 58s · 34 turns · 324 in / 10,160 out tokens
Event routing and Zod validation
Zod for payload schemas
100%
100%
ContactEventSchema name
0%
100%
SequenceEventSchema name
0%
100%
EmailEventSchema name
0%
100%
Route by event prefix
0%
100%
Schema.parse() before handler
100%
100%
Unknown event console.warn
0%
100%
Unknown event returns 200
100%
100%
Processing error returns 400
0%
100%
Tests use vitest
100%
100%
Tests use supertest
100%
100%
Test covers unknown event type
100%
100%
Without context: $0.3345 · 3m 5s · 18 turns · 19 in / 6,074 out tokens
With context: $0.6731 · 3m 50s · 32 turns · 63 in / 7,589 out tokens
Event handler business logic
Handlers file path
100%
100%
contact.created uses upsert
100%
100%
contact.updated uses update
0%
100%
Contact sync publishes event
0%
100%
sequence.started creates enrollment
37%
100%
sequence.completed updates enrollment
100%
100%
sequence.completed status fallback
0%
100%
Email engagement record created
100%
100%
eventType strips email prefix
0%
100%
email.replied publishes lead event
0%
100%
email.bounced marks contact
0%
100%
occurredAt from timestamp
100%
100%
Without context: $0.4229 · 3m 13s · 25 turns · 25 in / 6,358 out tokens
With context: $0.4899 · 2m 55s · 23 turns · 281 in / 5,826 out tokens
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.