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.md
source 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

EventDescription
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

IssueCauseSolution
No events receivedWrong URLVerify HTTPS URL in webhook config
Duplicate eventsRetry deliveryImplement idempotency with event IDs
Handler timeoutSlow processingOffload to background queue

Resources

Next Steps

For error diagnosis, see

podium-common-errors
.