---
title: "Preview Ai Dm Reply"
method: POST
path: "/automations/ai-dm/preview"
tags: ["automations"]
---

# Preview Ai Dm Reply

`POST /automations/ai-dm/preview`

## Request

- Base URL: `https://api.reeldrop.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.reeldrop.io/automations/ai-dm/preview`
- Auth: HTTP bearer

Run an ai_dm brief against Gemini without touching Instagram. This is what
the builder's Review step talks to; the logic is shared with the MCP
preview_ai_dm tool — see automation_service.preview_ai_dm_reply.

## Query parameters

- `workspace_id` string, nullable: Workspace this request applies to. Defaults to the caller's personal workspace. Must be one the caller belongs to.

## Request body

- AiDmPreviewIn
  - `ai` AiDmConfig, required: The brief for an ai_dm automation: what the AI is trying to do, what it is allowed to know, and where it has to stop. Only read when trigger.type == "ai_dm". It is stored on every automation regardless so that toggling the trigger type in the builder never destroys a paragraph of typed context.
    - `goal` string
    - `context` string
    - `exit_condition` string
    - `max_turns` integer
    - `inquiries_only` boolean
    - `first_message_enabled` boolean
    - `first_message` string
    - `handoff_message` string
    - `fallback_message` string
    - `tone` 'friendly' | 'professional' | 'playful' | 'concise'
    - `link` string
  - `transcript` AiDmPreviewTurn[]
    - `role` 'user' | 'assistant', required
    - `text` string, required

## Response `200`

Successful Response

- AiDmPreviewOut
  - `reply` string, required
  - `done` boolean, required
  - `respond` boolean

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/reeldrop/apis/reeldrop-api.md) · [All operations](https://skmtc.dev/reeldrop/apis/reeldrop-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reeldrop/apis/reeldrop-api/revisions/d3b2a338556c?raw)
