No-code actions
An agent doesn't just respond: it can act. betool provides a set of ready-to-use actions that an agent node calls when relevant — without a single line of code.
Writing to a database
From a database, an agent can:
- Create a row — record a lead, a request, an appointment.
- Update a row — change a status, fill in a field.
- Claim a row (
claim_row) — an atomic "compare-and-set" operation: it guarantees that the same task is processed only once, even if several executions are running in parallel (exactly-once).
claim_row is the building block of a reliable task queue: a watcher detects new rows to process, claims them one by one, and no one processes the same row twice.
Bulk import
To seed a database, a 3-step assistant imports an xlsx / csv file (column mapping included). Handy for loading a history or a contact list.
Sending an email
The email.send tool lets an agent send an email (report, confirmation, follow-up) within its pipeline. Combined with the Schedule channel, it is the basis of a recurring report.
Collecting payment (payment link)
With the Stripe integration, an agent can:
- Generate a payment link with Stripe Checkout (
stripe.create_payment_link). - Verify the payment (
stripe.check_payment) before confirming an action.
Typical use: have an appointment prepaid before placing it on the calendar.
Transferring a call
On the Telephony channel, an agent can transfer the call to another number (SIP REFER) — for example, routing a VIP caller to a direct line. The target number is validated in E.164 format.
Why it is safe
- Actions with an external side effect (email, payment, publishing) are idempotent: in the event of a redeployment or a retry, the action is never executed twice.
- Sensitive actions may require human approval before execution (see proposals and approval).