Agent Skills: Podium Webhooks Events

|

UncategorizedID: jeremylongshore/claude-code-plugins-plus-skills/podium-webhooks-events

Install this agent skill to your local

pnpm dlx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/tree/HEAD/plugins/saas-packs/podium-pack/skills/podium-webhooks-events

Skill Files

Browse the full folder contents for podium-webhooks-events.

Download Skill

Loading file tree…

plugins/saas-packs/podium-pack/skills/podium-webhooks-events/SKILL.md

Skill Metadata

Name
podium-webhooks-events
Description
|

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 | |-------|-------------| | 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 |

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.