Automations

Automations

An automation is a flow: a trigger, followed by the steps you choose. You build it on a canvas, publish it, and see what happened on each run.

Describe a flow instead of building it

You don't have to build a flow node by node yourself. In the builder you describe what should happen in plain language, and you get a plan first: a summary, the trigger, and the steps in order. Confirm the plan and the flow appears as a draft on the same canvas described below.

Nothing is saved or switched on until you do it. Review the draft, ask for changes if needed, then switch it on with the same button as a flow you built by hand.

What starts a flow

Every flow has exactly 1 starting point. There are 4 to choose from.

  • A keyword in an incoming message. You choose whether the message has to contain the word, start or end with it, match it exactly, or match a pattern you write.
  • A booking from FareHarbor: created, changed, canceled, or rebooked.
  • A webhook. The flow gets an address of its own that another system can post to.
  • A new contact. This fires once, the moment the contact is first created.

Adding steps

You drag a step onto the canvas and connect it to the previous one. These are the groups.

GroupSteps
MessageSend text, send media, send a template, ask a question with up to 3 buttons, ask a question with a list
WaitWait for a set time, until a specific moment or your next opening hours, for a reply, or for a webhook
BranchA condition on a field, on your opening hours, a split across variants, or an AI step that picks a label or pulls data from the message
ContactSave the sender as a contact with labels, or opt a contact out
Hand overAssign to a colleague, either a fixed person or in rotation
ExternalCall another API and store the answer as a variable

Waiting and timing

A wait can be relative, such as 2 hours after the previous step, or last until a set moment. For bookings, you can time the flow from the start or end of the activity, for example 1 day after it ends.

There's also a step that waits until you're open again, so a question that lands on Saturday evening gets answered Monday morning. Opening hours and time zone are set per organization.

Branching

A condition splits the flow in two. You can compare against the customer's last answer, the content of the message, the contact's name, or a field from the event that started the flow.

You can also branch on your opening hours, or split contacts randomly but consistently across variants to test two versions of a message against each other.

AI step: classify, extract, or reply

This step reads the relevant message and does one of three things. Classify picks exactly one label from a list you define, such as booking, complaint, or general question, and the flow branches on that label. Extract data pulls fixed fields from the message, such as an order number or a date, and saves them as variables for later steps. Draft a reply writes the reply itself, based on the knowledge you entered in Settings. Classify and Extract data never message the customer. A reply goes to the inbox as a suggestion by default, and only sends automatically if you turn that on for the step.

Every AI step has a required fallback branch for when it doesn't work out: a slow reply, an unclear answer, or a limit reached. The flow just continues on that branch instead of getting stuck. For replies that also covers the answer not being in your knowledge: the step invents nothing and takes that same branch.

Flows and the AI agent

A flow you built yourself comes first. When a message starts a keyword flow, or is a reply to one of your campaigns, that flow answers and the AI agent stays quiet.

With the AI agent set to Reply on its own, it greets and answers customers outside your opening hours too. Flows that react to every message, such as a greeting or an away message, then skip, and the runs list shows why. In Suggest mode all your flows run as usual.

Publishing and testing

Publishing runs a check over the flow. Disconnected steps, missing fields, and any path that would send plain text outside the 24-hour window are blocked, with the reason attached.

You can switch a flow on for 1 phone number first. It then runs for that number only, and the flow is marked as being in test mode.

A flow can be tied to specific WhatsApp numbers. Tie it to none and it applies to all of them.

Seeing what happened

Each flow lists its runs: in progress, completed, and stuck. Open one to see what happened step by step, including any error message.

Build on a computer: the canvas relies on dragging and connecting, which doesn't fit a phone screen. On a phone the app shows a message instead of the builder. The list of flows and their runs are readable anywhere.

NextLibrary