appfolio-hello-world

Featured

Query AppFolio properties, units, and tenants via REST API. Trigger: "appfolio hello world".

AI & Automation 2,266 stars 315 forks Updated today MIT

Install

View on GitHub

Quality Score: 99/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# AppFolio Hello World ## Overview Get started with the AppFolio Property Manager API by authenticating with your client credentials and making your first API calls. This skill walks through connecting to the REST API, fetching a property listing, retrieving tenant details, and creating a basic work order — the essential operations for any AppFolio integration. ## Prerequisites - AppFolio Stack Partner account with API access - `APPFOLIO_CLIENT_ID` and `APPFOLIO_CLIENT_SECRET` environment variables set - Node.js 18+ and TypeScript ## Instructions ### Step 1: Configure the Client ```typescript const APPFOLIO_BASE = process.env.APPFOLIO_BASE_URL || "https://yourcompany.appfolio.com/api/v1"; async function appfolioFetch(path: string) { const credentials = Buffer.from( `${process.env.APPFOLIO_CLIENT_ID}:${process.env.APPFOLIO_CLIENT_SECRET}` ).toString("base64"); const res = await fetch(`${APPFOLIO_BASE}${path}`, { headers: { Authorization: `Basic ${credentials}`, Accept: "application/json" }, }); if (!res.ok) throw new Error(`AppFolio ${res.status}: ${await res.text()}`); return res.json(); } ``` ### Step 2: List Properties ```typescript const properties = await appfolioFetch("/properties?page_size=10"); console.log(`Found ${properties.length} properties`); properties.forEach((p: any) => console.log(` ${p.id}: ${p.address_line1}, ${p.city}`)); ``` ### Step 3: Get Tenant Details ```typescript const tenants = await appfolioFetch(`/tenants?property_...

Details

Author
jeremylongshore
Repository
jeremylongshore/claude-code-plugins-plus-skills
Created
7 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category