Claude-code-plugins-plus-skills podium-webhooks-events
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/podium-pack/skills/podium-webhooks-events" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-podium-webhooks-events && rm -rf "$T"
manifest:
plugins/saas-packs/podium-pack/skills/podium-webhooks-events/SKILL.mdsource content
Podium Webhooks Events
Overview
Handle Podium webhook events for messages, reviews, and payments with event routing and idempotent processing.
Prerequisites
- Podium OAuth tokens configured
- HTTPS webhook endpoint
Instructions
Step 1: Webhook Event Types
| Event | Description |
|---|---|
| Inbound customer message |
| Outbound message delivered |
| Message delivery failed |
| New review posted |
| Invoice payment received |
Step 2: Event Handler
import express from 'express'; const app = express(); app.post('/webhooks/podium', express.json(), async (req, res) => { const { type, data } = req.body; const handlers: Record<string, (data: any) => Promise<void>> = { 'message.received': async (d) => { console.log(`Message from ${d.attributes['contact-phone']}: ${d.attributes.body}`); }, 'message.sent': async (d) => { console.log(`Message delivered: ${d.id}`); }, 'review.created': async (d) => { console.log(`New review: ${d.attributes.rating}/5`); }, 'payment.completed': async (d) => { console.log(`Payment received: $${d.attributes.amount / 100}`); }, }; const handler = handlers[type]; if (handler) await handler(data); res.status(200).json({ received: true }); });
Step 3: Register Webhook
await podium.post('/webhooks', { data: { attributes: { url: 'https://your-app.com/webhooks/podium', events: ['message.received', 'message.sent', 'review.created', 'payment.completed'], }, }, });
Output
- Webhook endpoint handling all Podium event types
- Event routing to specific handlers
- Message, review, and payment events processed
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| No events received | Wrong URL | Verify HTTPS URL in webhook config |
| Duplicate events | Retry delivery | Implement idempotency with event IDs |
| Handler timeout | Slow processing | Offload to background queue |
Resources
Next Steps
For error diagnosis, see
podium-common-errors.