From podium-pack
Podium webhooks events — business messaging and communication platform integration. Use when working with Podium API for messaging, reviews, or payments. Trigger with phrases like "podium webhooks events", "podium-webhooks-events".
npx claudepluginhub flight505/skill-forge --plugin podium-packThis skill is limited to using the following tools:
Handle Podium webhook events for messages, reviews, and payments with event routing and idempotent processing.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Handle Podium webhook events for messages, reviews, and payments with event routing and idempotent processing.
| Event | Description |
|---|---|
message.received | Inbound customer message |
message.sent | Outbound message delivered |
message.failed | Message delivery failed |
review.created | New review posted |
payment.completed | Invoice payment received |
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 });
});
await podium.post('/webhooks', {
data: {
attributes: {
url: 'https://your-app.com/webhooks/podium',
events: ['message.received', 'message.sent', 'review.created', 'payment.completed'],
},
},
});
| 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 |
For error diagnosis, see podium-common-errors.