Buni.aiDocs
Automation
Automation

Automation quickstart

Build a workflow that takes a hosted form submission, sends an SMS confirmation and saves the request to a data store.

In this quickstart you build a callback-request workflow. A customer fills in a hosted web form, the workflow tidies the answers, skips requests without a phone number, texts the customer a confirmation and saves the request to a data store.

Form trigger → Set Fields → Filter → Messaging (SMS) → Data Store

Before you start you need:

  • An SMS provider credential for Twilio, Africa's Talking or Infobip. See SMS providers.
  • A data store with name, phone and topic fields. See Data stores.

Create the project

Create a project and choose Automation as the type. The canvas opens with a trigger node already placed. See Create a project.

Turn the trigger into a form

Open the trigger node. On Trigger Settings, select the Form tile ("Collect submissions from a public hosted web form").

  • Form name: Callback request
  • Output variable: leave it as form. Answers are stored at state.form.<fieldKey>.
  • Under Fields, select Add field three times and set each Key, Type and Prompt / question:
KeyTypePrompt / questionRequired
nametextYour nameOn
phonephoneMobile numberOn
topicselectWhat is it about?Off

Under Public page, set a Title and a Success message such as "Thanks, we will text you shortly."

Prefer the palette?

You can drag Form Trigger from the palette's Triggers group instead. The form settings are the same.

Tidy the answers with Set Fields

Add a Set Fields node after the trigger. Add one row:

  • Field name: topic
  • Value expression: state.form.topic || 'General'

Later nodes can now read {{state.topic}} and always get a value.

Skip incomplete requests with Filter

Add a Filter node. In the Condition builder, add a clause: state.form.phone starts with +. This lets through only numbers in international format, which SMS providers need.

A Filter continues only when its condition is true. Otherwise the run stops at the Filter without an error.

Send the confirmation SMS

Add a Messaging node.

  • Medium: your provider, for example Africa's Talking
  • Credentials to connect with: your provider credential
  • Resource: SMS, Operation: Send
  • From: your registered sender ID
  • To: {{state.form.phone}}
  • Message: Hi {{state.form.name}}, we got your request about {{state.topic}} and will call you back today.

Save the request

Add a Data Store node.

  • Action: POST
  • Data Store: your callback-requests store
  • Payload:
{
  "name": "{{state.form.name}}",
  "phone": "{{state.form.phone}}",
  "topic": "{{state.topic}}"
}

Test it

Save the canvas. Open the trigger node, go to Form URLs and select Get URLs. Open the Test URL in a new tab and submit the form with your own phone number.

Test URL submissions run your draft. Open the Activity tab to see the run, then open it to check each step. See Runs and logs.

Publish

Publish the project. The Production URL now works; share that link with customers.

The finished quickstart workflow: Form trigger, Set Fields, Filter, Messaging and Data Store nodes connected left to right
The finished callback-request workflow.

Troubleshooting

Next steps

Last reviewed 25 September 2026

On this page