Skip to content
Back to skills

Podium Webhooks Events

ASecurity

"Podium webhooks events \u2014 business messaging and communication platform\

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
businesstypescriptbashexpressapi

Works with

  • claude code
  • api

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add pauldx/claudifying --skill podium-webhooks-events --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Podium Webhooks Events?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Podium Webhooks Events
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pauldx-podium-webhooks-events/badge)](https://www.skillsdirectory.com/skills/pauldx-podium-webhooks-events)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: podium-webhooks-events
description: "Podium webhooks events \u2014 business messaging and communication platform\
  \ integration.\nUse when working with Podium API for messaging, reviews, or payments.\n\
  Trigger with phrases like \"podium webhooks events\", \"podium-webhooks-events\"\
  .\n"
allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(curl:*), Grep
version: 2.0.0
license: MIT
tags:
- saas
- podium
- messaging
- reviews
- payments
compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw
---
# 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
```typescript
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
```typescript
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
- [Podium Webhooks](https://docs.podium.com/docs/webhooks)
- [Webhook Object](https://docs.podium.com/reference/the-webhook-object)

## Next Steps
For error diagnosis, see `podium-common-errors`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in business →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.