> For the complete documentation index, see [llms.txt](https://doc.aissist.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.aissist.io/tutorial/tune-aissist-behavior/improve-workflows-with-sub-agents.md).

# Improve Workflows with Sub Agents

*Last updated: June 25, 2026*

Sub agents help you move from broad automation to focused workflows.

Use them to improve one scenario at a time until Aissist is ready for broader coverage.

See [Create Sub Agents](/tutorial/create-sub-agents.md) for setup details.

### Improve one workflow at a time

1. Review live conversations and group them into repeatable scenarios.
2. Pick one high-volume, low-risk scenario first.
3. Create a sub agent with a clear scenario and concise instructions.
4. Link only the assets and actions needed for that workflow.
5. Choose the right session behavior, such as reply, handoff, or no response after the current step.
6. Test the workflow in narrow traffic and monitor live results.
7. Refine the sub agent, then repeat with the next scenario.

{% hint style="info" %}
Keep each sub agent narrow. One workflow per sub agent usually works best.
{% endhint %}

### Best practices

Use sub agents to isolate workflows, keep instructions focused, and limit unrelated context.

#### Move scenario-specific rules out of workspace instructions

Keep global instructions broad.

Move workflow logic into the matching sub agent.

For example, do not put return authorization steps in workspace instructions if only return requests need them.

Instead:

* keep the workspace instruction focused on universal behavior
* put return-specific collection steps in a `return_or_refund` sub agent

This prevents one workflow from affecting every conversation.

#### Split broad workflows into multiple sub agents

One broad sub agent usually becomes harder to detect and maintain.

Split it when different scenarios need different steps, assets, or handoff rules.

For example, instead of one `order_support` sub agent, create:

* `order_tracking`
* `return_or_refund`
* `order_cancellation`

This makes each workflow easier to test and less likely to trigger on the wrong message.

#### Link only the assets and actions needed for that workflow

Keep each sub agent's linked resources narrow.

For example, an order tracking workflow may need a shipping action and a delivery status asset.

It usually does not need refund policy documents or cancellation rules.

This reduces noisy retrieval and helps Aissist stay on task.

#### Use handoff when the workflow needs human review or system access

Do not force Aissist to finish a workflow it cannot complete safely.

Use handoff when the workflow depends on:

* internal approval
* unavailable system access
* policy exceptions

For example, a return workflow can collect the order number, return reason, and product photos first.

Then it can hand the case to the human team for final review.

#### Expand gradually after one workflow performs reliably

Start with one high-volume, low-risk scenario.

For example, launch `order_tracking` before building more complex flows like refunds or exceptions.

Once that workflow performs well in live traffic, add the next scenario.

This makes issues easier to diagnose and keeps rollout risk low.

### How to write sub agent instructions

Good sub agent instructions stay narrow and procedural.

Use one sub agent for one scenario.

If one workflow starts covering tracking, returns, cancellations, and billing, split it into separate sub agents.

This improves detection, reduces conflicts, and makes each workflow easier to test.

When writing sub agent instructions:

* **Start with a short workflow title.**\
  Example: `Follow the steps below to process order tracking requests`
* **List the steps in order.**\
  Example: `1. Check whether the user shared the order number. 2. Ask for the order number if missing. 3. Share tracking details if available. 4. Hand off if tracking cannot be found.`
* **Give one next action at a time.**\
  Example: ask for the order number first, then wait before asking for anything else
* **Define exact handoff triggers.**\
  Example: `Hand off if tracking is unavailable, the order appears stuck, or the user asks for a human.`
* **Prefer lists over tables.**\
  Example: write `1. If order is still in transit ... 2. If order is returned by the courier ... 3. If order is delivered to a pickup point ...` instead of putting the same flow in a table
* **Avoid vague wording like `help if needed` or `escalate if necessary`.**\
  Better: `Hand off after collecting the order number, return reason, and product photos.`

<details>

<summary>Example: weak vs stronger sub agent instructions</summary>

Weak:

> Help users with return requests. Ask for details, explain the policy, and escalate if necessary.

Stronger:

> #### Return request workflow
>
> 1. Check whether the user shared the order number.
> 2. Ask for the order number if it is missing.
> 3. Ask for the return reason.
> 4. Ask for photos if product condition matters for review.
> 5. Explain the return policy that applies to the request.
> 6. Hand off after the required details are collected if approval or internal review is needed.

The stronger version works better because it defines:

* the workflow scope
* the order of steps
* the handoff condition

</details>

For example, instead of one broad commerce sub agent, create separate sub agents for:

* order tracking
* return or refund
* order cancellation

For deeper guidance on writing clear workflow instructions, see [How to Write Better AI Instructions](/tutorial/tune-aissist-behavior/how-to-write-better-ai-instructions.md).

### Examples

These examples show how teams use sub agents to improve accuracy, reduce conflicts, and hand work to humans when needed.

<details>

<summary>Example: Add contextual instructions for one scenario</summary>

CityRelay, a property rental business, often receives questions about early check-ins and late check-outs.

To handle this, they created a `check_in_checkout` sub agent with:

* a narrow scenario for check-in and checkout requests
* step-based instructions for policy checks and availability checks
* an action to check availability

That let Aissist answer these questions more accurately and efficiently.

<figure><img src="/files/5GLFFmUReKD7wDTYEd8d" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Example: Resolve conflicting guidance</summary>

Open Goaaal sells soccer goals and often receives requests for installation manuals.

At first, Aissist replied with the wrong behavior.

It said it would send a PDF, even though the correct workflow was to share a Google Drive link for the exact product.

The problem came from a conflicting workspace instruction that overrode the asset guidance.

The fix was:

* remove the conflicting global instruction
* create an `installation_manual` sub agent
* move the exact workflow into that sub agent

The sub agent instruction can stay simple:

1. Identify which product the user needs help with.
2. Find the matching manual link.
3. Share the correct link.
4. Hand off if the product cannot be identified.

<figure><img src="/files/STPiwp9JfXqzEGv7RkK1" alt=""><figcaption></figcaption></figure>

After that change, Aissist returned the correct product-specific manual link instead.

This pattern works well when one workflow needs precise logic that should not affect every conversation.

</details>

<details>

<summary>Example: Hand off to the human team</summary>

Open Goaaal also needed a safe return handoff flow.

Return requests required a return authorization in an internal system that Aissist could not access directly.

To handle that, the team created a `return_or_refund` sub agent that:

1. Ask for the order number.
2. Ask for the shipping address.
3. Ask for the reason for return.
4. Ask for a photo of the current product condition.
5. Tell the customer the case has been escalated after the required information is collected.
6. Stop responding.

Once the user submits that information, the human team takes over.

<figure><img src="/files/PjceP9GNAhOZNp8Arez8" alt=""><figcaption></figcaption></figure>

For more on handoff design, see [Streamline with Human Team](/tutorial/streamline-with-human-team.md).

</details>

### Start small

Start with one repeatable workflow.

Test it, review real conversations, and expand only after the workflow is reliable.
