OonoBox API

Automation with bots

Build no-code workflows to automate replies, handle common questions, and integrate with external services.

OonoBox bots let you automate common messaging tasks without writing code. Create flows that respond to customer messages, ask questions, fetch data, and more.

Bots are ideal for:

  • Instant auto-replies and acknowledgments.
  • Answering frequently asked questions.
  • Gathering customer information before handoff.
  • Integrating WhatsApp with your backend (CRM, payment systems, databases).
  • Routing conversations to the right team member.

Creating a bot

  1. Open OonoBox → Automation → Bots.
  2. Click Create bot.
  3. Give it a name (e.g. "Order lookup").
  4. Choose a trigger (see below).
  5. Build the flow using the node editor.
  6. Click Save.

The bot is now active. When its trigger fires, the flow runs.

Triggers

A trigger is the event that starts the bot:

TriggerWhen it fires
KeywordCustomer sends a message containing a word or phrase (e.g. "help", "hours").
Any messageAny incoming customer message (catch-all). Runs on every message.
New conversationThe first message in a brand-new conversation.
IntentThe customer's message is classified into an intent by AI (pair it with an "Understand intent" step).

You can also set active hours so a bot only runs at certain times, with an optional out-of-hours message.

Building the flow

Use the canvas to drag and drop nodes and connect them. Drag from a node's output dot to another node's input to link them. To remove a link, hover or click the connecting line and click the X that appears on it. Each node does one thing:

Send message

Sends text or a template to the customer. Can use variables to personalize.

Ask question

Displays a set of options (buttons) for the customer to choose from. Branches the flow based on their choice.

Example: "What do you need?" → Customer picks "Order status", "Returns", or "Other" → Each option leads to a different path.

Condition

Branches the flow based on a variable value. Example: If customer's account balance is < 10, show a warning.

Set variable

Store information from earlier in the flow (customer input, API response) as a variable for later use.

AI

OonoBox has a few AI nodes. One generates a free-text reply from the customer's message, one classifies the message into an intent, and one runs an AI agent that can answer using your knowledge base. Useful for open-ended questions.

Knowledge base

Searches your knowledge base (if enabled) and returns relevant articles or answers.

Call API

Makes an HTTP request to your backend. Fetch order status, create a ticket, update a database, etc.

Example: Call GET /api/orders?phone=263771234567 to look up a customer's order.

Google Sheets

Reads and writes a Google spreadsheet, so a bot can log entries or look customers up without any code.

First connect a Google account: open a Google Sheets step and click Connect Google. A small Google window opens; allow access and the step updates on its own (no new tab to clean up). You connect once per workspace.

The step does one of two things:

Add a row appends a new row to a sheet.

  1. Paste the Google Sheets link, or click create a new sheet to make a fresh one on the connected account.
  2. Click Load to pull in the sheet's tabs and column headers.
  3. Pick the Tab, then map each Column to a value. Values can be plain text or variables like {{customer_name}}.

Example: log every enquiry with columns Name, Phone, and Message set to {{name}}, {{phone}}, and {{last_message}}.

Look up a row finds a row and reads it back into variables.

  1. Choose the sheet and tab the same way.
  2. Under Find the row where, pick a column and the value to match (e.g. Email equals {{customer_email}}). It matches the first row where they're equal.
  3. Under Load columns into variables, map the columns you want to read into variable names.
  4. On the canvas, wire the found and not found paths so the flow reacts to each case.

The connected account must be able to open the sheet. If a link won't load, check that you shared it with the connected Google account.

Handoff

Stops the bot and assigns the conversation to a human team member for manual response.

Resolve

Marks the conversation as complete.

Section / Go to / Call flow

Structure your flow into reusable sections (think of them like functions). Use Go to to jump to another section, or Call flow to run a section and return.

Useful for breaking large flows into logical parts (e.g. a "check eligibility" section used by multiple paths).

There are also nodes for sending media (image, video, file), an interactive list menu, a WhatsApp Flow form, catalog products, and a wait/pause step.

Variables

Variables store data as the flow runs:

  • Customer input — Text they type, buttons they pick.
  • API responses — Data from your backend.
  • Manual assignments — Values you set with "Set variable" nodes.

Use {{variableName}} in messages to insert values.

Example flow:

  1. Ask "What's your order number?"
  2. Set variable orderID to customer's response.
  3. Call API: GET /orders/{{orderID}}
  4. Send message: Order {{orderID}} status: {{orderStatus}} (from API response).

Testing your bot

Before going live, test the flow:

  1. Click Test mode (top right).
  2. Choose Preview (simulate the bot) or Live test (actually trigger the bot).
  3. Send test messages and follow the flow.
  4. Watch for errors or unexpected branches.
  5. Click Stop test when done.

Use Preview for quick checks; Live test to verify it actually triggers and runs.

Disabling and deleting

  • Disable a bot to stop it running without deleting it.
  • Delete a bot to remove it permanently (can't be recovered).

Best practices

Keep flows simple — Long, complex flows are hard to debug. Break them into sections.

Test edge cases — What happens if the API fails? If the customer sends an emoji instead of a number?

Use templates for important messages — Bots can send free-form text, but templates are approved by Meta and more reliable for marketing/notifications.

Set a fallback — If the bot doesn't understand, offer a "Talk to an agent" handoff option.

Monitor performance — Check which bots run most often and where they fail. Refine based on real usage.

Limitations

  • Bots are workspace-scoped — Each workspace has its own bots.
  • One live bot per number — Only one bot can be live on a given WhatsApp number at a time. Publishing a new bot to that number takes the previous one offline. Build complex branching within the one live bot.
  • Bots are a Growth and Pro feature — The bot builder (including the AI and knowledge base nodes) is available on Growth and Pro plans.
  • API calls — Each Call API node has a timeout you set per node (default 5 seconds, up to 30 seconds).

Troubleshooting

"Bot didn't trigger" — Check the trigger condition. If it's a keyword, verify the spelling. Keyword matching is case-insensitive and matches if the word appears anywhere in the message.

"API call failed" — Ensure your endpoint is reachable from OonoBox servers and responds within the node's timeout (5 seconds by default, up to 30).

"Variable is empty" — If a variable shows as undefined, check that the previous node actually sets it or that the API response includes it.

"Handoff didn't assign" — Ensure at least one team member is available. If you assign to a specific person, they must be active in the workspace.

On this page