---
title: "Build one of the six Hive simple automations and return it as a DRAFT: going live needs the person to open the approval link in Hive. It never messages anyone. It writes the automation, then reports in plain words everything that still blocks Go Live."
method: POST
path: "/api/v1/tools/create_simple_automation"
---

# Build one of the six Hive simple automations and return it as a DRAFT: going live needs the person to open the approval link in Hive. It never messages anyone. It writes the automation, then reports in plain words everything that still blocks Go Live.

`POST /api/v1/tools/create_simple_automation`

## Request

- Base URL: `https://hivepublish.com`
- URL: `https://hivepublish.com/api/v1/tools/create_simple_automation`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `recipe` 'comment-link' | 'story-leads' | 'dm-faq' | 'comment-follow-gate' | 'comment-affiliate-links' | 'default-reply', required: Which Hive simple automation to build.
  - `accountId` string: The connected Hive account this automation runs on. Leave it out to get the list of accounts to choose from; never guess it.
  - `platform` string: The network when accountId is not known yet: instagram, facebook, whatsapp, tiktok, messenger. Hive answers with the accounts to choose from instead of guessing.
  - `name` string: Optional name for the automation. The recipe name is used when omitted.
  - `keywords` string[]: The words a comment or message must contain.
  - `replyText` string: The message the automation sends.
  - `linkUrl` string: The destination the link message opens.
  - `linkButtonLabel` string: The label on the button people tap to ask for the link.
  - `publicReplyText` string: A public reply to the comment. Supplying it switches the public reply step on.
  - `postIds` string[]: External post ids from read_eligible_posts (or story ids from read_eligible_stories) this automation watches. At most 20. Leave empty to watch every post on the account.
  - `postScope` 'any' | 'specific': any watches every post on the account; specific watches only postIds.
  - `options` object
    - `askEmail` boolean: Switch on the step that asks for an email address.
    - `askFollow` boolean: Switch on the step that asks the person to follow first.
    - `followUp` boolean: Switch on the later follow-up message.
    - `followUpText` string: The words of that follow-up message.
    - `emailPrompt` string: The words used when asking for the email address.
    - `privacyPolicyUrl` string: The privacy policy shown with the email ask.

## Response `200`

Tool result

- ToolResult
  - `data` unknown, required
  - `meta` object, required
    - `tool` string
    - `workspaceId` string, uuid

## Other responses

- `400`: Invalid input
- `401`: Missing or invalid credential
- `403`: Missing workspace scope, role permission, or plan entitlement
- `409`: Idempotency conflict, replay, or request still in progress
- `429`: Rate limit exceeded

---

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