> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brilo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Build a custom action

> What a custom action is, when your Brilo agent needs one to reach your own system, and what to send your developer.

A custom action lets your agent reach your own software during a call: look up an order, check an account, or
create a job in a system the app store does not cover. It is the one part of Brilo that needs someone technical,
and it is usually about an hour of their time.

## What it is

Most actions connect to a tool Brilo already knows about. A custom action connects to yours. Your developer
describes where your system lives and what to send it, and after that your agent can use it like any other
action, including reading the answer back to the caller mid call.

## When you need one

* **Your tool is not in the app store.** Check the app store first, since the list grows. See
  [Connect your tools](/actions/connect-your-tools).
* **You want your agent to read your own data to a caller**, for example an order status or a balance.
* **You want a record created in your own system** rather than in a third party tool.

You do not need one for booking appointments in Google Calendar, updating HubSpot, or sending texts and emails.
Those already exist.

## What to send your developer

Send these four things and they will not need to come back to you:

1. **What you want to happen, in your own words.** For example: "when a caller asks about their order, the agent
   should look it up in our system and read back the status".
2. **Which system it lives in**, and who administers it.
3. **The developer reference**: [Custom actions](/api-reference/custom-actions).
4. **Your API key**, from developer settings in your dashboard.

What they will need from your side is the address of the thing your agent should call, how it authenticates, and
what it expects to receive. If your system has documentation, send that too.

## What it is fair to expect

For a developer who has built an integration before, a single custom action is about an hour. If you are told it
is a multi week project, either the requirement is larger than you described or something has been
misunderstood: ask them to look at the reference page first.

## After it is built

The custom action appears alongside the others in your agent's **Actions** tab, and from there it is yours to manage:

* Tell your agent when to use it, in the **Prompt** tab. This is still the most common reason an action never
  runs.
* Decide whether it runs during the call, which the caller waits for, or after it.
* Decide what your agent says when your system does not answer. See
  [What are actions](/actions/what-are-actions).

## FAQ

<AccordionGroup>
  <Accordion title="Can my agent reach my own system during a call?">
    Yes, with a custom action. Once built, your agent can look something up and read the answer back to the
    caller, or create a record in your system, exactly like any built in action.
  </Accordion>

  <Accordion title="Do I need a developer for a custom action?">
    Yes. This is the main part of Brilo that needs someone technical, and it is normally about an hour of work.
    Everything a caller experiences on a call can otherwise be set up without one. See
    [Do I need a developer](/start/do-i-need-a-developer).
  </Accordion>

  <Accordion title="How long does a custom action take to build?">
    About an hour for a developer who has built an integration before, plus your time deciding when your agent
    should use it and testing it on a real call.
  </Accordion>

  <Accordion title="Can a custom action read data back to the caller?">
    Yes, and that is the main reason to build one. The action has to run during the call for this, so it needs to
    be quick: the caller is waiting while it happens.
  </Accordion>

  <Accordion title="What happens if my system is down when the action runs?">
    The action fails and the call continues. Your agent tells the caller it could not complete the task, and what
    it offers next comes from your instructions, so write that fallback down.
  </Accordion>

  <Accordion title="Is a custom action the same as a webhook?">
    No. A custom action runs during a call and can bring information back. A webhook fires after the call and
    only sends data out. Use a custom action for mid call lookups and a webhook for records and reporting. See
    [Send data to your systems](/actions/send-data-to-your-systems).
  </Accordion>

  <Accordion title="Do custom actions cost extra?">
    No, they are part of your plan. What costs you is the developer time to build one.
  </Accordion>
</AccordionGroup>

## Related

* [What are actions](/actions/what-are-actions) for how actions work generally
* [Connect your tools](/actions/connect-your-tools) to check the app store first
* [Custom actions reference](/api-reference/custom-actions) to send your developer
* [Send data to your systems](/actions/send-data-to-your-systems) for the after call alternative
* [Do I need a developer](/start/do-i-need-a-developer) for everything that needs help
