FUMA is a modern automation platform enabling Instagram Business accounts to automate DMs, comment replies, and engagement workflows via the Meta Graph API.
🧠 Built with:
- React + TypeScript + Vite (Client)
- Node.js + Express + TypeScript + Prisma + PostgreSQL (Server)
- Node.js ≥ 18.x
- PostgreSQL ≥ 13
- pnpm / npm / yarn
- Meta for Developers account
- An Instagram Business/Professional account connected to a Facebook Page
This section explains how to create and configure your Meta App for Instagram Graph API access.
- Create a Facebook Page (if not already).
- Switch your Instagram account to a Professional (Business) account.
- Link your Instagram account to your Facebook Page:
- Go to Instagram → Settings → Linked Accounts → Meta → Connect Facebook Page.
- Visit Meta for Developers.
- Click My Apps → Create App.
- Choose Business as the app type.
- Fill in:
- App Name
- Contact Email
- Business Manager
- After creation, note down:
- App ID
- App Secret
- In your Meta App, go to Add Products → Add:
- Instagram Graph API
- Facebook Login
- Webhooks
- Under Facebook Login → Settings:
- Add your OAuth redirect URL:
http://localhost:4000/auth/callback - For production:
https://yourdomain.com/auth/callback
- Add your OAuth redirect URL:
- Under App Settings → Basic:
- Add your App Domain (client/server URLs)
- Add Privacy Policy & Terms of Service URLs
For DMs, comments, and publishing, request these permissions:
In development mode, only app roles (Admin/Developer/Tester) can log in.
For production, submit your app for App Review with test credentials and demo video.
-
Use Facebook Login to get a short-lived user token.
-
Exchange it for a long-lived user token via your backend.
-
Retrieve Page Access Tokens using
/me/accounts. -
Get your Instagram Business Account ID via:
-
Use that ID for all Instagram Graph API requests.
- In App Dashboard → Webhooks:
- Add Instagram product.
- Callback URL:
https://yourdomain.com/webhooks/meta - Verify Token:
fuma_verify_token
- Subscribe to:
messagescommentsmentionsstory_insights(optional)
NODE_ENV=development
PORT=4000
SERVER_URL=http://localhost:4000
CLIENT_URL=http://localhost:5173
# Database
DATABASE_URL="postgresql://USER:PASSWORD@localhost:5432/fuma?schema=public"
# JWT & Webhook
JWT_SECRET=your_jwt_secret
WEBHOOK_VERIFY_TOKEN=fuma_verify_token
# Meta App
META_APP_ID=YOUR_META_APP_ID
META_APP_SECRET=YOUR_META_APP_SECRET
OAUTH_REDIRECT_URI=http://localhost:4000/auth/callback