# Appfolio Reference Architecture

> Reference architecture for AppFolio property management integration. Trigger: "appfolio architecture".

- Skill: `jeremylongshore/appfolio-reference-architecture` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jeremylongshore/appfolio-reference-architecture`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jeremylongshore/appfolio-reference-architecture/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- License: MIT
- Author: jeremylongshore (https://skillmd.com/u/jeremylongshore)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/jeremylongshore/appfolio-reference-architecture

---


# appfolio reference architecture | sed 's/\b\(.\)/\u\1/g'

## Architecture
```
┌──────────────────────────────────────────────┐
│             Your Application                   │
│                                                │
│  ┌──────────┐  ┌──────────┐  ┌─────────────┐ │
│  │Dashboard │  │ Sync     │  │ Webhook     │ │
│  │(React)   │  │ Service  │  │ Handler     │ │
│  └────┬─────┘  └────┬─────┘  └──────┬──────┘ │
│       │              │               │         │
│  ┌────▼──────────────▼───────────────▼──────┐ │
│  │         AppFolio API Client               │ │
│  │  (Basic Auth, Retry, Cache, Rate Limit)   │ │
│  └────────────────────┬─────────────────────┘ │
└───────────────────────┼───────────────────────┘
                        │
              ┌─────────▼──────────┐
              │ AppFolio Stack API  │
              │ /properties         │
              │ /tenants            │
              │ /leases             │
              │ /units              │
              │ /bills              │
              └────────────────────┘
```

## Project Structure
```
appfolio-integration/
├── src/
│   ├── appfolio/
│   │   ├── client.ts          # Typed REST client with Basic Auth
│   │   ├── cache.ts           # Response cache with TTL
│   │   └── types.ts           # Property, Tenant, Lease, Unit types
│   ├── dashboard/
│   │   ├── portfolio.ts       # Portfolio summary
│   │   └── vacancy.ts         # Vacancy tracking
│   ├── sync/
│   │   └── incremental.ts     # Incremental data sync
│   ├── webhooks/
│   │   └── handler.ts         # Webhook endpoint
│   └── server.ts
├── tests/
│   ├── mocks/                 # Mock API responses
│   └── unit/
└── package.json
```

## Resources

- [AppFolio Stack APIs](https://www.appfolio.com/stack/partners/api)
- [AppFolio Engineering Blog](https://engineering.appfolio.com)


