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 betool database (Applications → Databases), 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: a field only moves from the expected value to the new value if it still holds the expected value. Only one caller wins the claim: the same task is processed only once, even if several executions are running in parallel (exactly-once). Available on betool no-code databases.
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 (file, columns, result) imports an xlsx / csv file, with column mapping. 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) from one of the organization's connected email accounts. 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 ongoing call to another number (phone_gateway.transfer_call tool, SIP REFER) — for example, routing a VIP caller to a direct line. The target number is expected in E.164 format; the transfer is issued after the agent's reply has finished.
Why it is safe
- Sending an email is idempotent: in the event of a redeployment or a retry of the same turn, the message is not sent twice.
- The Stripe payment link uses your organization's Stripe key: you are the one collecting, and the payment is verified (
stripe.check_payment) before triggering the action. claim_rowmakes it possible to guarantee that a task from a database queue is processed only once.