Agent skill
appfolio-install-auth
Configure AppFolio Stack API authentication with OAuth 2.0. Use when setting up property management API access, registering as an AppFolio Stack partner, or configuring client credentials for API calls. Trigger: "install appfolio", "setup appfolio", "appfolio auth", "appfolio API key".
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-install-auth
SKILL.md
AppFolio Install & Auth
Overview
Configure AppFolio Stack API authentication. AppFolio uses HTTP Basic Auth with a client ID and client secret, provided through their Stack partner program. No public npm SDK exists — use direct REST API calls.
Prerequisites
- AppFolio Stack partner account (appfolio.com/stack)
- Client ID and Client Secret from AppFolio
- Node.js 18+ or Python 3.10+
Instructions
Step 1: Obtain API Credentials
# AppFolio Stack API credentials come from the partner program
# 1. Apply at appfolio.com/stack/become-a-partner
# 2. Complete integration review
# 3. Receive client_id and client_secret
cat > .env << 'ENVFILE'
APPFOLIO_CLIENT_ID=your-client-id
APPFOLIO_CLIENT_SECRET=your-client-secret
APPFOLIO_BASE_URL=https://your-company.appfolio.com/api/v1
ENVFILE
chmod 600 .env
echo ".env" >> .gitignore
Step 2: Create API Client
// src/appfolio-client.ts
import axios, { AxiosInstance } from 'axios';
class AppFolioClient {
private api: AxiosInstance;
constructor() {
this.api = axios.create({
baseURL: process.env.APPFOLIO_BASE_URL,
auth: {
username: process.env.APPFOLIO_CLIENT_ID!,
password: process.env.APPFOLIO_CLIENT_SECRET!,
},
headers: { 'Content-Type': 'application/json' },
timeout: 30000,
});
}
async verifyConnection(): Promise<boolean> {
try {
const response = await this.api.get('/properties');
console.log(`Connected! Found ${response.data.length} properties`);
return true;
} catch (error: any) {
console.error(`Connection failed: ${error.response?.status} ${error.message}`);
return false;
}
}
get http(): AxiosInstance { return this.api; }
}
export { AppFolioClient };
Step 3: Verify Connection
# Quick curl test
curl -u "${APPFOLIO_CLIENT_ID}:${APPFOLIO_CLIENT_SECRET}" \
"${APPFOLIO_BASE_URL}/properties" | jq '.[0]'
API Endpoints
| Resource | Endpoint | Methods |
|---|---|---|
| Properties | /api/v1/properties |
GET |
| Units | /api/v1/units |
GET |
| Tenants | /api/v1/tenants |
GET |
| Leases | /api/v1/leases |
GET, POST |
| Bills | /api/v1/bills |
GET, POST |
| Vendors | /api/v1/vendors |
GET |
| Owners | /api/v1/owners |
GET |
| Reports | /api/v1/reports |
GET |
Output
- API credentials configured in
.env - TypeScript REST client with Basic Auth
- Verified connectivity to AppFolio API
Error Handling
| Error | Cause | Solution |
|---|---|---|
401 Unauthorized |
Invalid credentials | Verify client_id/secret from AppFolio |
403 Forbidden |
Not a Stack partner | Complete partner application |
404 Not Found |
Wrong base URL | Use your-company.appfolio.com format |
| Timeout | Network issue | Check firewall allows HTTPS to appfolio.com |
Resources
Next Steps
Proceed to appfolio-hello-world for your first property query.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
dockerfile-generator
Dockerfile Generator - Auto-activating skill for DevOps Basics. Triggers on: dockerfile generator, dockerfile generator Part of the DevOps Basics skill category.
branch-naming-helper
Branch Naming Helper - Auto-activating skill for DevOps Basics. Triggers on: branch naming helper, branch naming helper Part of the DevOps Basics skill category.
readme-generator
Readme Generator - Auto-activating skill for DevOps Basics. Triggers on: readme generator, readme generator Part of the DevOps Basics skill category.
makefile-generator
Makefile Generator - Auto-activating skill for DevOps Basics. Triggers on: makefile generator, makefile generator Part of the DevOps Basics skill category.
gitignore-generator
Gitignore Generator - Auto-activating skill for DevOps Basics. Triggers on: gitignore generator, gitignore generator Part of the DevOps Basics skill category.
pre-commit-hook-setup
Pre Commit Hook Setup - Auto-activating skill for DevOps Basics. Triggers on: pre commit hook setup, pre commit hook setup Part of the DevOps Basics skill category.
Didn't find tool you were looking for?