Meta publishing (Facebook + Instagram)
Native publishing to Facebook Pages and Instagram Business accounts β available on Growth tier and above.
Meta publishing (Facebook Pages + Instagram Business accounts) is live in CRISP Content Engine. It is available on the Growth plan and above. The integration uses encrypted token storage, cron-based workers, and a Meta-compliant data deletion callback.
Who this page is for
- Users on Growth (or higher) connecting Facebook and Instagram for autopublish
- Operators configuring cron and troubleshooting Meta publishing jobs
- Support/admins verifying permissions and data handling
Whatβs included
- OAuth connection flow (Facebook user β Pages β Instagram Business discovery)
- Selection of one default Facebook Page and one default Instagram account per workspace
- Cron worker publishes due jobs to Facebook/Instagram
- Data deletion callback endpoint for Meta compliance
Source of truth and scheduling
- Publish jobs are immutable once queued.
- Publishing uses
publish_jobs.payload_jsonas the source of truth. - The worker is triggered by cron (
/api/publish/meta-due) and publishes due jobs at execution time.
Permissions (Meta)
CRISP requests the permissions required for publishing:
pages_show_listpages_read_engagementpages_manage_postsinstagram_basicinstagram_content_publish
Instagram requirements
- Instagram publishing requires an image (image + caption only in the current implementation).
- Reels, Stories, and native scheduling are not included.
Token storage and encryption
- Meta access tokens are encrypted at rest using
META_TOKEN_ENCRYPTION_KEY. - Tokens and Meta IDs are not written to Airtable.
- Publishing uses Supabase tables for encrypted tokens and destination selections.
Data deletion callback
CRISP implements a Meta-compliant data deletion endpoint:
POST /api/meta/data-deletion- Deletes Meta connection data for the user and returns a
url+confirmation_codeas required by Meta.
Constraints and edge cases
- Business verification may be required for some Meta apps.
- Phase 1 supports one Page + one Instagram account per workspace.
- Instagram publishing failures often relate to missing media, permissions, or an invalid/expired token.
Related docs
- Publishing overview: Publishing overview
- Security & privacy: Security & privacy
- Integrations: Integrations