---
title: "Botcake Integration"
description: "Automate the Botcake Messenger marketing platform, reading customers and custom fields, sending flows and ad-hoc content, and managing keyword rules. Agents run Meta messaging campaigns and react to subscriber behavior."
url: https://flowrunner.ai/integrations/botcake
date_modified: 2026-08-07T17:20:23-07:00
---

# Botcake

[Messaging](https://flowrunner.ai/integrations/category/communication-messaging)

Automate the Botcake Messenger marketing platform, reading customers and custom fields, sending flows and ad-hoc content, and managing keyword rules. Agents run Meta messaging campaigns and react to subscriber behavior.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 34 actions · API key · available

[Platform Documentation](https://botcake.io/) · Capability data verified 2026-08-12

1.  A campaign window opens for a connected Meta page
2.  Agent runs List Ad Accounts and List Customers By Custom Field to assemble the target group
3.  Agent creates the audience with Create Custom Audience and the campaign with Create Marketing Message
4.  Agent reads it back with Get Marketing Message to confirm the campaign is still Paused
5.  Marketing owner receives the creative, the daily budget, and how the audience was built
6.  Owner approves before Update Marketing Message Status flips the campaign to Active

## What This Integration Enables

It helps to be honest about what Botcake is. It is filed under chatbots, but the surface an agent actually gets is a marketing surface: subscriber lists, tags, custom fields, drip sequences, keyword rules, message templates, and a set of Meta marketing message campaigns that draw real money from a real ad account. The people who run this platform are running audience marketing on Messenger, and the chat interface is the delivery channel rather than the product.

FlowRunner agents work that surface end to end. They resolve the account with List Page IDs and Get Page Access Tokens, read the subscriber base with List Customers, and read or write the attributes a bot collected using Get Customer Field Values and Update Customer Field Values. They turn one of those attributes into an audience with List Customers By Custom Field. On the content side they list flows and folders, send a stored flow to a named subscriber with variables filled in, or send ad-hoc content without creating a flow first. On the paid side they list ad accounts, create custom audiences, build marketing message campaigns with creative and budget, move campaigns between Active, Paused, and Archived, and pull spend and engagement statistics back out. The [connectors](https://flowrunner.ai/concepts/connectors) are built and verified against the vendor's official API, so the page tokens, paging schemes, and status transitions behave the way Botcake documents them.

### Without FlowRunner

**Campaign setup done by hand in two places**: Audience assembled in a spreadsheet, then rebuilt inside the Meta tooling

**Spend starts with a click nobody logged**: A campaign goes Active and there is no record of who decided it should

**Bot-collected attributes stay in the bot**: Custom fields a conversation captured never reach the ad targeting that could use them

### With FlowRunner

**Audience built from what conversations revealed**: List Customers By Custom Field turns a bot-collected attribute into a targetable group

**Spend starts on a recorded approval**: The campaign sits Paused until a named person approves the flip to Active

**Reporting closes the loop automatically**: Get Marketing Statistics and Get Broadcast Statistics feed the next decision without a manual export

## Use Case Scenarios

### Order Status Drives a Personalized Flow

An order in [Shopify](https://flowrunner.ai/integrations/shopify) moves to shipped. The agent looks up the customer's page-scoped subscriber ID from List Customers, writes the tracking number onto the subscriber with Update Customer Field Values, and calls Send Flow with a payload that fills the flow's variables: name, order number, delivery window. One stored flow serves every customer, personalized per recipient at send time. Messenger's messaging window rules still govern delivery, so the agent sets the appropriate message tag when the reply falls outside the standard window.

### Bot-Collected Attributes Into the CRM and Back

A conversation captures a product interest and a phone number as custom fields. On a schedule the agent runs List Custom Fields to resolve names into IDs, pulls the holders of each value with List Customers By Custom Field, and syncs them into [HubSpot](https://flowrunner.ai/integrations/hubspot) so the sales team sees what the bot learned. The return trip matters as much: when a deal stage changes in the CRM, the agent writes that back with Update Customer Field Values, and the next flow the subscriber receives branches on it.

### Seasonal Keyword Swap Without Rebuilding Rules

A page answers the keyword "pricing" with a flow that describes the standard rate card. A promotion starts. Rather than editing the rule, the agent builds the promotional flow, confirms it with List Flows, and calls Update Keyword Flow to repoint the existing keyword at the new content. When the promotion ends, the agent repoints it back. The rule, its trigger phrase, and its history stay intact while the answer behind it changes.

## Human-in-Loop Highlight

Botcake gives the gate away for free: new marketing message campaigns default to Paused so the creative can be reviewed before spend begins. FlowRunner treats that vendor-designed pause as the [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) point rather than something to automate past. An agent can build the whole campaign on its own, including the custom audience, the daily budget, the schedule as Unix timestamps, and the card creative with headline, body, media, and buttons. What it does not do is call Update Marketing Message Status with Active. It reads the campaign back with Get Marketing Message and posts the reviewable state to the marketing owner in Slack: "Campaign 'Spring Restock' is Paused on ad account act\_4417. Daily budget 250 USD, audience built from the product-interest custom field, 3 cards attached. Approve to set Active, or hold?" The owner decides, and the approval is on the record next to the spend it authorized. The reason this matters is that the neighbouring operation, Delete Marketing Message, is permanent and cannot be undone through the API, which is exactly why the correct way to stop a campaign is Paused and the correct way to start one is a person saying yes.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via Slack

Human decides

Agent resumes with decision

## Agent Capabilities

34 actions

### Account Discovery

2

-   **List Page IDs** Returns the IDs of every page connected to the Botcake account, including Facebook page IDs alongside Instagram and LiveChat prefixed IDs. This is the account-level discovery call and the only way to learn which page IDs the other operations accept.
-   **Get Page Access Tokens** Exchanges the account-level user token for the per-page tokens every other operation needs, pairing each page ID with its public token. Supply a page ID for a single token, or omit it to list tokens for all connected pages.

### Customers and Custom Fields

5

-   **List Customers** Returns the customers who have interacted with a page, each with their full name, Botcake customer ID, page-scoped subscriber ID, and any collected phone numbers. The subscriber ID is what every send operation expects, so this is normally the first call in a messaging flow.
-   **Get Customer Field Values** Returns the custom field values stored against a single customer. Used to read what a bot collected earlier in a conversation, such as an order number or a preferred delivery slot, before deciding what to send next.
-   **Update Customer Field Values** Writes custom field values onto a single customer, pairing each field ID with the value to store. Only the fields sent are changed, which makes it safe to call from an enrichment step that has learned one new detail.
-   **List Customers By Custom Field** Returns the customers of a page holding a value for one specific custom field. This is how a bot-collected attribute becomes a targetable audience, for example everyone who left a phone number or selected a product interest.
-   **List Custom Fields** Returns the custom field definitions configured on a page with their numeric IDs, names, descriptions, and type codes. Used to resolve a field name into the ID that the write and filter operations require.

### Tags and Reporting

3

-   **List Tags** Returns every tag defined on a page with its Botcake ID, display name, and linked Pancake tag ID where applicable. Used to turn a tag name into the ID that tag reporting is keyed on.
-   **Get Tag Statistics** Returns how often each tag was applied on a page inside a date window, with both boundaries given as Unix timestamps in seconds. Used to report on conversation topics or triage volume over a period.
-   **Get Broadcast Statistics** Returns the delivery report for a single broadcast, covering recipients targeted, delivered, seen, and clicked, plus the failure count. Used to decide whether a follow-up send is warranted.

### Flows and Content

5

-   **List Flows** Returns the conversation flows defined on a page with their IDs, names, removal state, and parent folder. Flow IDs are required by the send and reporting operations.
-   **List Folder Flows** Returns the flows stored inside a single folder of a page's flow tree. Used when a page organizes flows into folders and only one branch is relevant.
-   **Get Flow Statistics** Returns the delivery and engagement counters recorded for a single flow, such as sends, views, and clicks. Used to compare flow performance or gate a follow-up campaign on an engagement threshold.
-   **Send Flow** Sends an existing flow to one customer by subscriber ID, with a payload object filling the flow's variables so a single templated flow can carry names, order numbers, or booking times per recipient. Messenger platform rules still apply outside the standard messaging window.
-   **Send Content** Sends ad-hoc message content to one customer without creating a stored flow first, describing the message blocks directly. A message tag is required when replying outside the standard 24-hour messaging window.

### Sequences and Keyword Rules

4

-   **List Sequences** Returns the drip sequences configured on a page. Sequences deliver a series of scheduled messages after a subscriber joins them.
-   **Get Sequence Statistics** Returns the delivery and engagement counters for a single drip sequence. Used to check how a nurture series is performing before enrolling more subscribers.
-   **List Keywords** Returns the keyword rules configured on a page, each linking a trigger phrase to the flow that answers it. Used to audit automated replies or find the rule to repoint.
-   **Update Keyword Flow** Repoints an existing keyword rule at a different flow, so the automated answer to a trigger phrase can be swapped without rebuilding the rule. Used for seasonal campaigns where one keyword should answer with new content each month.

### Messenger Entry Points

3

-   **Get Ice Breakers** Returns the ice breaker questions shown when a customer opens a new Messenger conversation with the page. Used to audit the entry points the bot offers or mirror them onto another channel.
-   **Get Main Menu** Returns the persistent menu configured for the page's Messenger conversations, including its items and the flows or links behind them. Used to verify a menu deployment or document the bot's navigation.
-   **Get Media URL** Resolves a stored media ID into a retrievable URL, using the MIME type to select the correct storage backend. Used to pull an image or document a customer sent before passing it to another step.

### Message Templates

2

-   **List Message Templates** Returns the message templates registered for a page, filtered to approved templates by default so only sendable ones appear. Another status value inspects templates still awaiting review.
-   **Sync Message Templates** Pulls a page's message templates from Meta into Botcake so newly approved or edited templates become available. Run it after a template changes status in Meta's Business Manager, then re-read the list.

### Paid Marketing Messages

10

-   **List Ad Accounts** Returns the Meta ad accounts linked to a page. Every marketing message operation requires one of these account IDs in its prefixed form, so this is the first call when building a paid messaging flow.
-   **List Marketing Messages** Returns the marketing message campaigns of one ad account with their status, budget, currency, message type, and campaign ID, paged with a cursor.
-   **Create Marketing Message** Creates a marketing message campaign on a Meta ad account. Only the daily budget is mandatory; schedule dates are Unix timestamps and the card list carries the creative with headline, body, media, and buttons. New campaigns default to Paused so the creative can be reviewed before spend begins.
-   **Get Marketing Message** Retrieves a single campaign by ID with its current status, budget, schedule, and creative. Used to confirm a campaign's live state before changing it or reporting on it.
-   **Update Marketing Message Status** Changes a campaign's lifecycle state, which is how a campaign is started, paused, or archived without touching its creative. Meta sets review states such as Pending Review itself, so an advertiser flow normally moves only between Active, Paused, and Archived.
-   **Delete Marketing Message** Permanently removes a marketing message campaign from the ad account. Deletion cannot be undone through the API, so use a status change to Paused when a campaign only needs to stop.
-   **Get Marketing Statistics** Returns performance statistics for an ad account's marketing messages, including spend, delivery, and engagement counters, paged with a cursor.
-   **List Custom Audiences** Returns the custom audiences defined on an ad account for marketing message targeting, paged by page number and page size rather than by cursor.
-   **Create Custom Audience** Creates a custom audience on an ad account so marketing messages can be targeted at a defined group. Only a name is required, with an optional description recording how the audience was assembled.
-   **Send Marketing Content** Delivers the content of a marketing message campaign to one recipient, identified by exactly one of a subscription token or a page-scoped subscriber ID. Supplying both is rejected, and the action validates that rule before the call so the failure is reported clearly.

## Frequently Asked Questions

### What can FlowRunner do with Botcake?

FlowRunner agents can run List Page IDs, Get Page Access Tokens, and List Customers in Botcake, plus 31 more actions.

### Does connecting Botcake to FlowRunner require OAuth?

No. Botcake connects to FlowRunner with an API key, no OAuth flow required.

### Can Botcake trigger a FlowRunner workflow automatically?

Botcake doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Botcake?** This integration exposes Botcake to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/botcake. Site index: https://flowrunner.ai/llms.txt
