Agent skill

appfolio-webhooks-events

Handle AppFolio webhook events for property management notifications. Trigger: "appfolio webhook".

Stars 1,803
Forks 241

Install this agent skill to your Project

npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/tree/main/plugins/saas-packs/appfolio-pack/skills/appfolio-webhooks-events

SKILL.md

appfolio webhooks events | sed 's/\b(.)/\u\1/g'

Overview

AppFolio Stack supports webhooks for lease, payment, and maintenance events.

Webhook Handler

typescript
import express from "express";
import crypto from "crypto";

const router = express.Router();

router.post("/webhooks/appfolio", express.raw({ type: "application/json" }), (req, res) => {
  const signature = req.headers["x-appfolio-signature"] as string;
  const expected = crypto.createHmac("sha256", process.env.APPFOLIO_WEBHOOK_SECRET!)
    .update(req.body).digest("hex");

  if (!crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected))) {
    return res.status(401).json({ error: "Invalid signature" });
  }

  const event = JSON.parse(req.body.toString());
  console.log(\`Event: \${event.type} — \${JSON.stringify(event.data)}\`);
  res.status(200).json({ received: true });
});

Event Types

Event Trigger Use Case
lease.created New lease signed Update CRM
lease.expired Lease ended Trigger renewal workflow
payment.received Rent paid Update accounting
maintenance.created Work order filed Dispatch vendor

Resources

Didn't find tool you were looking for?

Be as detailed as possible for better results