Resia

Coordinate agents across channels to reach one goal.

An Orchestration Agent coordinates your Call and Chat Agents to reach a specific goal, and stops when the goal is reached or a guardrail is hit.

Buy $RESIA
Example
RunningOrchestration Run · Milestone: Starting
patient_first_name: Jamesmissed_appointment_time: Today, 10:00 AMdentist_name: Dr. Patel

Steps

Result

✓ Wants to rebook
Preferred time
Friday afternoon
Reached by
call
Calls: 0 of 2Texts: 0 of 3Calling window: Weekdays, 9 AM to 6 PM Eastern

How a run works

An Orchestration Agent is a job you can repeat. Each run works toward one goal. Goals can target one person or many.

  1. 1

    You start a run

    Your app kicked off a run with any required inputs like the contact's information and their time zone.

  2. 2

    It executes the best step based on your configuration

    Based on your goal, it triggers calls, texts, or tools using your approved agents.

  3. 3

    It finds the best time

    It can wait until a better time, such as the next morning, and then try again.

  4. 4

    It tracks and hits milestones

    Every agent conversation ends with a structured result and updates the milestones your agent has reached. The run uses that context to decide the next best step.

  5. 5

    It keeps going, inside your guardrails

    It keeps working until the goal is reached or it hits a limit you set.

  6. 6

    It finishes with an outcome

    The run ends as succeeded, failed, or cancelled, with a result shared with you in your schema.

Rebook missed appointments

Orchestration Agent

Example
Instructions
Text patient_first_name to offer a new time. If the chat ends with no answer, call once. Stop as soon as they give a preferred time.
Agents it can use
Rebooking texts Missed appointment rebooking
Tools it can use
Check availability Update contact details
Limits per run
Calls2Texts3Spend2,000 $RESIA
Calling window
09:00 to 18:00, in each run's time zone
Milestones
TextedCalledPreferred time collected
When a run ends
POST workflow_run.ended → your webhook

You set the guardrails

Your Orchestration Agent stays within your guardrails, every time.

Only approved agents and tools
The run only uses the agents and tools you approve.
Protect calls, texts, and spend
Set limits on calls, texts and total spend for each run, so every run stays within your budget.
Set calling window
You determine the hours when a run can contact people.
Set milestones and webhook
Set milestones within the run for incremental updates. When it ends, Resia sends workflow_run.ended to your webhook.

Monitor every run's progress and cost

Check the milestone a run has reached with GET. When it ends, it reports its status and what it cost. Cancel a run at any time.

Example

Status

SucceededFailedCancelled

Milestones

  1. Texted
  2. Called
  3. Preferred time collected

Cost of this run

Model tokensOrchestration model
30 $RESIA
Calls1 call, 1:08
120 $RESIA
Messages1 text
20 $RESIA
Total
170 $RESIA

Jobs that take more than one conversation or participant

Some jobs need a text, a wait, and a call. Some need calls to several businesses. Here are a few examples.

Rebook missed appointments

When a patient misses a visit, the run texts them to offer a new time. If the chat ends with no answer, it waits a few hours and calls once. It stops when the patient gives a preferred time. Then, the front desk confirms the booking.

  1. Text
  2. Wait 4 hours
  3. Call once

Confirm an appointment, and try again later

The run calls to confirm. If no one answers, it tries again later, inside the calling window and the call limit.

Find something in stock.

The run calls several businesses in turn and asks whether they have an item. It stops at the first one that does, or at the call limit.

Coordinate an interview

Ask the candidate for available times by text. Call the interviewer to check those times. Report a shared time to your team.

Find a service provider

Call local providers to check availability for a repair. Text the customer the options. Report their preferred provider and time to your team.

Follow up with a new lead

Text a new lead to ask what they need. Call if they do not reply. Share the result with the sales team.

Create your first Orchestration Agent in minutes.

Set up an Orchestration Agent yourself in the portal or through the API, or describe the job to Butler and it drafts one for you. Butler can then review runs and adjust the agent.

To Butler
When a patient misses an appointment, text them to rebook. If they don't answer, call once in the afternoon. Never more than two calls.

The API still uses the earlier name: /v1/workflow-agents, /v1/workflow-runs and workflow_run.ended.

Read the developer guide
curl https://resia.work/v1/workflow-runs \
  -H "Authorization: Bearer $RESIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_agent_id": "YOUR_WORKFLOW_AGENT_ID",
    "inputs": {
      "patient_first_name": "James",
      "phone_number": "+16175550188",
      "missed_appointment_time": "Today, 10:00 AM",
      "time_zone": "America/New_York"
    }
  }'

Put an Orchestration Agent to work today.

Describe the goal to Butler, set your guardrails, do a test run, and push live.

Get a call now

A Resia agent will call you in about a minute, walk you through the platform, and put you through to our founder if you want to talk to him.

Consent is not a condition of any purchase. Message frequency may vary. Message and data rates may apply. See our Messaging Terms (resia.work/sms-terms) and Privacy Policy (resia.work/privacy). United States and Canada numbers only. Asking for a call means we may call this number. The call is recorded.

Get $RESIA

Tell us who you are and we will take you straight to the calendar with your details already filled in.