# How Instagram DM automation is configured today

This guide explains the backend mechanism for Instagram DM automation that already exists in the codebase and why no self-serve connect flow is currently available in the product UI.

_Takes about 10 minutes._

## Before you start

> **Not self-serve yet**
>
> Instagram DM automation is marked coming soon in the product today. This page explains today's deployment-level mechanism, not a step a workspace owner completes themselves.

## 1. What exists today

The Instagram channel tile in the Wavy dashboard is currently styled with reduced opacity to indicate it is disabled. The caption text explicitly states that DM automation is coming soon. There is no self-serve connect flow for a workspace's own Instagram account at this time.

> **Feature Status**
>
> Instagram DM automation is marked 'coming soon' in the product UI. No self-serve connect flow exists for a workspace's own Instagram account today.

## 2. The messaging code itself already works

The backend contains a Graph API wrapper that handles reading an Instagram professional account's profile and listing its media. It also implements the two-step publishing flow required by the Graph API to create and publish media containers. This messaging logic is fully functional and ready to be used once a valid credential is provided.

## 3. How a credential is resolved today

Currently, every Instagram Graph API call resolves its access token from a single deployment-wide environment variable rather than a per-workspace setting. The system also uses a deployment-wide Instagram professional account ID to determine which account to act on. This means the entire deployment shares one Instagram credential, so an individual workspace cannot supply its own.

Environment variables: `META_ADS_ACCESS_TOKEN`, `META_IG_BUSINESS_ID`

## 4. Why this isn't per-workspace yet

The data model includes an Instagram type in its channel enum, and the token resolution logic is designed to prefer a workspace's own channel credential if one were passed in. However, the channel creation endpoint ignores the type field and always creates a WhatsApp channel. No route currently exists to create an Instagram-type channel for a specific workspace.

> **Missing Connect Route**
>
> The codebase anticipates Instagram channels, but no API route creates them. The generic channel-connect endpoint ignores the type field, so every channel created is a WhatsApp channel regardless of the request.

## Next

- [Wavy documentation](/docs/wavy)
- [Meta app for WhatsApp Cloud API](/docs/wavy/guides/meta-app-for-whatsapp-cloud-api)

---

Status: reviewed · reviewed by gemini-3.8-flash
Author: qwen3.8-27b