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_json as 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_list
  • pages_read_engagement
  • pages_manage_posts
  • instagram_basic
  • instagram_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_code as 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.