From fondo-pack
Implements Stripe, Gusto, Plaid, and Mercury webhooks for tracking revenue, payroll, transactions, and banking events in financial apps.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fondo-pack:fondo-webhooks-eventsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Fondo itself does not send webhooks. Instead, build event-driven workflows using webhooks from the same providers Fondo connects to: Stripe (revenue), Gusto (payroll), Plaid (bank transactions), and Mercury (banking).
Fondo itself does not send webhooks. Instead, build event-driven workflows using webhooks from the same providers Fondo connects to: Stripe (revenue), Gusto (payroll), Plaid (bank transactions), and Mercury (banking).
| Provider | Key Events | Use Case |
|---|---|---|
| Stripe | charge.succeeded, invoice.paid | Revenue tracking, MRR alerts |
| Gusto | payroll.processed, employee.created | Payroll cost alerts, headcount |
| Plaid | transactions.sync, item.error | Expense monitoring |
| Mercury | transaction.created | Real-time spend tracking |
import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_API_KEY!);
app.post('/webhooks/stripe', express.raw({ type: '*/*' }), (req, res) => {
const sig = req.headers['stripe-signature'] as string;
const event = stripe.webhooks.constructEvent(
req.body, sig, process.env.STRIPE_WEBHOOK_SECRET!
);
switch (event.type) {
case 'charge.succeeded':
const amount = (event.data.object as Stripe.Charge).amount / 100;
console.log(`Revenue: $${amount}`);
// Update internal dashboard
break;
case 'invoice.paid':
// MRR tracking
break;
}
res.sendStatus(200);
});
// Gusto sends webhooks when payroll is processed
app.post('/webhooks/gusto', express.json(), async (req, res) => {
const { event_type, data } = req.body;
if (event_type === 'payroll.processed') {
const totalPayroll = data.totals.gross_pay;
console.log(`Payroll processed: $${totalPayroll}`);
// Alert if significantly different from budget
if (totalPayroll > monthlyPayrollBudget * 1.1) {
await sendAlert(`Payroll exceeded budget by ${((totalPayroll / monthlyPayrollBudget - 1) * 100).toFixed(0)}%`);
}
}
res.sendStatus(200);
});
For performance optimization, see fondo-performance-tuning.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin fondo-packSets up GitHub Actions CI/CD pipelines for budget alerts, burn rate checks, and financial validation using Stripe data with Fondo.
Guides Stripe payment integration including checkout, subscriptions, webhooks, refunds, and PCI-compliant flows. Useful for implementing payment processing in web/mobile apps.
Webhook validation patterns with signature verification, event logging, and testing tools. Use when implementing webhooks, validating webhook signatures, securing payment webhooks, testing webhook endpoints, preventing replay attacks, or when user mentions webhook security, Stripe webhooks, signature verification, webhook testing, or event validation.