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

# Custom Actions

> Give your AI agents tools to look things up and take action in your systems

**Custom Actions** are the tools your AI agents can use during their work: looking up live inventory, checking a
customer's pricing, booking a meeting. Where the [Knowledge Base](/knowledge-base/overview) gives agents documents to
read, Custom Actions give them the ability to *act* on live systems.

Find them under **Custom Actions** in the sidebar.

## What a custom action is

An action connects an agent to one of your systems and defines what it can ask for. For example:

* **Check inventory:** "Is part 4130 in stock?"
* **Get pricing:** "What's this customer's price for 500 units?"
* **Look up an order:** "What's the status of PO 88213?"
* **Book a meeting:** schedule time on a calendar.

When a conversation calls for it, the agent uses the action, gets a live answer, and works it into its reply or quote.

## Creating an action

<Steps>
  <Step title="Define what it does">
    Give the action a clear name and description, and list the details the agent should collect (like a product ID or quantity).
  </Step>

  <Step title="Point it at your system">
    Connect it to the system that answers the request, with the credentials it needs. Keys are stored securely, never in plain text.
  </Step>

  <Step title="Test it">
    Run the action with sample inputs and confirm the response looks right before turning it loose.
  </Step>
</Steps>

<Note>
  Connecting to a full ERP for quoting is handled as its own [ERP integration](/integrations/erp) rather than a
  hand-built action. Custom Actions are for the targeted lookups and tasks you want agents to perform in a
  conversation.
</Note>

## Tips for reliable actions

* **Name them clearly:** a descriptive name helps the agent pick the right tool at the right moment.
* **Describe when to use each:** tell the agent, in its instructions, when an action applies.
* **Give it a graceful fallback:** a friendly message for when a system is briefly unavailable, so the customer never sees a raw error.

## Next steps

<CardGroup cols={2}>
  <Card title="Channels" icon="bot" href="/channels/overview">
    The agents that use your actions
  </Card>

  <Card title="ERP Integration" icon="database" href="/integrations/erp">
    Connect a full ERP for quoting
  </Card>

  <Card title="Knowledge Base" icon="folder-open" href="/knowledge-base/overview">
    Give agents documents to read
  </Card>
</CardGroup>
