# Aissist Docs

Build AI agents for support, sales, and operations.

*Last updated: May 6, 2026*

Agentic AI that resolves, not just replies.

Automate service and sales end to end — 83% automation, 4.8+ CSAT, and 50% lower cost.

Aissist combines knowledge, actions, and human workflows in one system.

### Why teams use Aissist

Use Aissist to automate service, sales, and back-office operations.

Deploy AI agents that understand context, take action, and escalate when needed.

Teams use Aissist to:

* Resolve complex cases, not just simple questions.
* Keep output reliable with structured workflows and guardrails.
* Work with human teams inside existing tools.
* Understand real customer input across channels and formats.

### Start here

Use this path to launch your first agent:

1. Set up your workspace in [Quick Start](/tutorial/quick-start).
2. Add knowledge in [Turn Assets into AI](/tutorial/turn-assets-into-ai).
3. Connect live systems in [Integrations](/integrations).
4. Define behaviors in [Create Sub Agents](/tutorial/create-sub-agents).
5. Test responses in [Simulator](/tutorial/simulator).
6. Go live with [Deploy Gateway](/tutorial/deploy-gateway).

### Core concepts

* **Workspace** — your control center for settings, knowledge, actions, and deployment.
* **Instructions** — global rules, tone, and response guardrails.
* **Assets** — websites, documents, and data sources the agent uses for knowledge.
* **Sub Agents** — scenario-specific behaviors for flows like order tracking or returns.
* [**Integrations**](/integrations) — connections to business systems and data sources, like Shopify, WooCommerce, and REST APIs.
* [**Gateways**](/gateways) — deployment channels for agent platforms, like Intercom, Front, and Zendesk.

### What you can build

* Customer service agents that resolve cases end to end
* Sales agents that qualify leads and collect key details
* Commerce agents that manage orders, shipping, and returns
* Internal agents that answer operational questions from company knowledge

### Continue exploring

* [Tutorial](/tutorial)
* [Integrations](/integrations)
* [Gateways](/gateways)
* [Use cases](/use-cases)
* [Success Metrics](/success-metrics)
* [FAQ](/faq)

### Need help?

Book a [demo](https://aissist.io/request-demo).


# Tutorial

*Last updated: May 6, 2026*

Build your first Aissist step by step.

Use this guide to move from setup to live deployment.

### Recommended path

1. Start with [Quick Start](/tutorial/quick-start).
2. Add knowledge in [Turn Assets into AI](/tutorial/turn-assets-into-ai).
3. Define scenario specific instructions in [Create Sub Agents](/tutorial/create-sub-agents).
4. Connect information systems in [Integrations](/integrations).
5. Test behavior in [Simulator](/tutorial/simulator).
6. Deploy channels in [Deploy Gateway](/tutorial/deploy-gateway).

### Improve behavior

Use these guides once your first workflow is running:

* [Tune Aissist Behavior](/tutorial/tune-aissist-behavior)
* [Instructions, Assets, and Sub Agents](/tutorial/instructions-assets-and-sub-agents)
* [Teach AI with Examples](broken://spaces/yKHM836KGDAfAWvw6XL6/pages/zc6gp37Pav6WZX00JFx7)
* [Add Images in Instructions](/tutorial/use-images-in-instructions)
* [Aissist Build Checklist](/tutorial/aissist-build-checklist)

### Test and operate

Use these pages to validate and run your setup:

* [Simulator](/tutorial/simulator)
* [In-note Command](/tutorial/in-note-command)
* [Streamline with Human Team](/tutorial/streamline-with-human-team)

{% hint style="info" %}
Start with one workflow. Test it. Then expand to more scenarios.
{% endhint %}


# Quick Start

*Last updated: May 12, 2026*

Set up your first Aissist workspace and go live safely.

This guide covers the shortest path from setup to live conversations.

{% stepper %}
{% step %}

### Create a workspace

[Sign in](https://console.aissist.io/) and create a workspace for one business function.

Add these basics:

* your website
* the main job for the agent
* the support channel you plan to use

Then go to **Workspace → Setting**.

We recommend:

* select a response language or enable **Auto Language**
* give Aissist a name in **Identity** so it can refer to itself naturally

Greeting, escalation, task, and closing behavior can wait.

{% hint style="info" %}
Use one workspace per team or workflow, such as support, sales, or a single store.
{% endhint %}
{% endstep %}

{% step %}

### Add global instruction and context

Go to **Workspace → Instruction** and add behavior rules.

Go to **Workspace → Context** and add business facts.

Keep global instructions short. Put detailed scenario handling instructions in sub agents.

Continue with [Tune Aissist Behavior](/tutorial/tune-aissist-behavior) for deeper guidance.
{% endstep %}

{% step %}

### Add assets

Assets give Aissist the knowledge it uses in replies.

You can connect:

* websites
* web pages
* Google Drive files

See [Turn Assets into AI](/tutorial/turn-assets-into-ai).
{% endstep %}

{% step %}

### Connect live systems

If you need live data or business actions, add an integration.

Use [Integrations](/integrations) to connect systems like Shopify, Supabase, and any RESTful API.

This helps Aissist resolve more issues with live data and real actions.
{% endstep %}

{% step %}

### Create sub agents

Use sub agents for distinct workflows, such as order tracking, returns, or booking.

Each sub agent can:

* define trigger scenarios
* add scenario-specific instructions
* use linked assets and actions
* control response or human handoff behavior

See [Create Sub Agents](/tutorial/create-sub-agents).
{% endstep %}

{% step %}

### Test before going live

Validate behavior before you enable production traffic.

Use:

* [Simulator](/tutorial/simulator)
* [Asset Debugger](/tutorial/turn-assets-into-ai/asset-debugger)
* [Action Debugger](/integrations/action-debugger)

Fix missing knowledge, conflicting content, and weak instructions before rollout.
{% endstep %}

{% step %}

### Deploy the gateway

When Aissist is ready, connect it to your support platform.

Use [Deploy Gateway](/tutorial/deploy-gateway) to deploy Aissist into your agent platform.
{% endstep %}
{% endstepper %}

### Roll out safely

Start with a small number of conversations or tickets each day.

Then:

1. monitor live sessions and collect feedback
2. refine assets, instructions, and sub agents
3. gradually increase traffic as results improve

Use [Streamline with Human Team](/tutorial/streamline-with-human-team) to plan handoff and review.


# Turn assets into AI

*Last updated: June 6, 2026*

Assets give Aissist the knowledge it uses in conversations.

Add domains, web pages, and documents to build a searchable knowledge base for your agent.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FrwubMiaKB9gNgb5ECc54%2Fscreencapture-console-aissist-io-assets-new-2026-05-12-21_50_45.png?alt=media&amp;token=1a14eb90-9b7e-45a8-83a9-ab9fdc9d54c7" alt=""><figcaption></figcaption></figure>

### How assets work

Aissist indexes the text in each asset.

When a user asks a question, Aissist searches that indexed content and uses the relevant results as response context.

You can also link assets to specific sub agents.

This keeps each workflow focused and improves accuracy.

If assets stay too broad, Aissist may retrieve unrelated context.

That extra noise can reduce answer accuracy.

Associate assets with the right [sub agents](/tutorial/create-sub-agents) whenever the content belongs to a specific workflow.

For example:

* link return policy assets to a return sub agent
* link order tracking content to an order tracking sub agent
* link billing documentation to a billing sub agent

### Supported asset types

Choose the asset type that fits your source:

{% content-ref url="/pages/G5FAL5NqZkcLqsnaAUlH" %}
[Website Domain](/tutorial/turn-assets-into-ai/website-domain)
{% endcontent-ref %}

{% content-ref url="/pages/GksAhaxUaodgbrV7Tivk" %}
[Web Page](/tutorial/turn-assets-into-ai/web-page)
{% endcontent-ref %}

{% content-ref url="/pages/XhfBIO0D0JhZ50cl1PTa" %}
[Google Drive](/tutorial/turn-assets-into-ai/google-drive)
{% endcontent-ref %}

{% content-ref url="/pages/eiBrP86QngvjhVab59cM" %}
[Documents](/tutorial/turn-assets-into-ai/documents)
{% endcontent-ref %}

### Test asset quality

Use the Asset Debugger to verify what Aissist can retrieve from your sources.

Then review the session detail page for live conversations.

For each AI reply, check the context used to generate the response.

If you see unrelated website or document content, narrow the asset scope by linking it to the correct sub agent.

{% content-ref url="/pages/ZAS8RVSKCZK4tK7UOpRA" %}
[Asset Debugger](/tutorial/turn-assets-into-ai/asset-debugger)
{% endcontent-ref %}

### Best practice

Start with your highest-value sources, such as help center content, policy pages, and operational documents.

Associate workflow-specific assets with the matching sub agents.

Then use the debugger to find gaps, conflicts, and outdated information before going live.


# Website Domain

*Last updated: May 12, 2026*

Use a domain asset to add a public website as knowledge.

This is the fastest way to index a help center, documentation site, or public company website.

You can add a main domain for broad coverage, or add subdomains one by one for tighter control.

### Add a domain asset

Go to **Workspace → Assets** and add a domain asset.

You can set it up in two ways:

* Add the main domain to let Aissist search content across that domain.
* Add subdomains one by one if you do not want Aissist to access all content under the main domain.

For example:

* `example.com` gives Aissist access to content hosted across that domain.
* `help.example.com` only gives Aissist access to that subdomain.

You can also add the domain for a hosted help center, such as Intercom or Zendesk.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FjgpbXVsYHxy8dAauDEVa%2Fscreencapture-console-aissist-io-assets-new-2026-05-12-21_55_06.png?alt=media&amp;token=b6a6ba08-b577-45bf-b1fb-279f467d7dc7" alt=""><figcaption></figcaption></figure>

### Choose domain or web page

Use a **domain** asset when you want Aissist to search across a whole site or subdomain.

Use a **web page** asset when you want to index only one page.

See [Web Page](/tutorial/turn-assets-into-ai/web-page) for single-page setup.

<details>

<summary>Website content updates</summary>

Website assets depend on search engine indexing.

When you update your site, Aissist picks up those changes after Bing or Google re-index the page.

This can happen quickly, or it can take several days.

To speed this up, request a re-crawl with:

* [**Bing Webmaster Tools**](https://www.bing.com/webmasters/url-submission-api)
* [**Google URL Inspection Tool**](https://search.google.com/search-console/welcome?action=inspect)

After re-indexing completes, Aissist can use the updated content.

</details>

### Best practice

Start with your main help center or documentation domain if you want broad coverage.

If you need tighter scope, add only the specific subdomains you want Aissist to use.


# Web Page

*Last updated: May 12, 2026*

Use a web page asset to index one specific public URL.

This is useful when only a single page matters and you do not want to include the rest of the site.

### Add a web page asset

Go to **Workspace → Assets** and add a web page asset.

Provide one or more public page URLs.

Common examples:

* a status page
* a return or refund policy page
* a single FAQ or product page

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FTQ22BfRh3iKiV16dDLKQ%2Fscreencapture-console-aissist-io-assets-new-2026-05-12-22_10_09.png?alt=media&amp;token=7779d0dd-ce91-4327-b947-0dfa229e8ccf" alt=""><figcaption></figcaption></figure>

### Choose web page or domain

Use a **web page** asset when you want to index only the page you provide.

Use a **domain** asset when you want Aissist to search across a wider site.

See [Website Domain](/tutorial/turn-assets-into-ai/website-domain) for full-site setup.

<details>

<summary>Web page content updates</summary>

Web page assets are indexed and stored directly by Aissist.

Aissist checks for updates every 24 hours.

If you update the asset manually from the console, that also triggers a refresh.

</details>

### Best practice

Use web page assets for focused, high-value content.

If you need broader coverage across a site, use a domain asset instead.


# Google Drive

*Last updated: May 12, 2026*

Use Google Docs and Google Sheets for managed knowledge that changes often.

This works well for policies, procedures, product details, and other content your team updates often.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2F5pGsUOSNU4kZHtcCSk75%2Fscreencapture-console-aissist-io-assets-new-2026-05-12-22_13_49.png?alt=media&amp;token=1cd70d79-bf73-4a54-85ab-56748ca7c301" alt=""><figcaption></figcaption></figure>

### Add a Google Drive asset

Go to **Workspace → Assets** and add a Google Doc or Google Sheet.

Then connect the file you want Aissist to retrieve from.

### Share the file with Aissist

For Aissist to access the file, use one of these options:

* Share it directly with **<support@aissistant.io>**.
* Set it to **Anyone with the link can view**.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2F7DA3XwccCOnmUufHYtku%2Fgoogledoc-share-2.png?alt=media&amp;token=e6688993-d53f-40b7-998e-f337d5528a44" alt=""><figcaption></figcaption></figure>

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FOCtHgKuYmTCVwHgZuOuy%2Fgoogledoc-share-1.png?alt=media&amp;token=54530b08-af72-4315-b90c-64e274e789c7" alt=""><figcaption></figcaption></figure>

### Choose asset or workspace instruction

These serve different purposes.

* **Workspace Instructions** are global. Use them for rules that apply in every conversation.
* **Google Docs and Sheets** are contextual. Use them for detailed knowledge that should be retrieved only when needed.

Keep instructions short.

Put longer policies, procedures, and reference content into assets.

See [Instructions, Assets, and Sub Agents](/tutorial/instructions-assets-and-sub-agents).

### Format your content

{% tabs %}
{% tab title="Google Doc" %}
Use headings to separate topics clearly.

{% hint style="info" %}
Use **headings** to split the document into focused sections. This helps Aissist retrieve the right content.
{% endhint %}

Recommended format:

* use headings for each topic
* keep each section focused
* use normal text, lists, or tables as needed

{% hint style="danger" %}
Images inside Google Docs are not supported yet.
{% endhint %}

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FebD7mV79rXwrdd6iA5Wt%2Fgoogle_doc_example.png?alt=media&amp;token=65302ee2-100e-47d0-9143-06bc66e51363" alt=""><figcaption><p>Example Google Doc format</p></figcaption></figure>
{% endtab %}

{% tab title="Google Sheet" %}
Keep Sheets simple and easy to interpret.

Recommended format:

* keep tables narrow and focused
* use one table per tab
* add a short description above each table

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FVswPY1jSuSDTZoagZ20i%2Fgoogle_spreadsheet_example.png?alt=media&amp;token=0c663d5d-90b5-4e19-9cf4-e9c268b0916b" alt=""><figcaption><p>Example Google Sheet format</p></figcaption></figure>
{% endtab %}
{% endtabs %}

### Best practice

Use Google Docs for narrative knowledge, such as policies and procedures.

Use Google Sheets for structured data, such as pricing, product details, or internal reference tables.


# Documents

*Last updated: May 12, 2026*

Use this path when your knowledge source starts as a file.

Direct file upload is not supported for formats like `TXT`, `PDF`, `DOC`, or `Excel`.

To use these files as assets, first add them through Google Drive.

### Add document files through Google Drive

Follow these steps:

1. upload them to Google Drive
2. share them with **<support@aissistant.io>** or set them to **Anyone with the link can view**
3. add them through the Google Drive asset flow

For setup steps, see [Google Drive](/tutorial/turn-assets-into-ai/google-drive).

### Best practice

Use Google Docs or Google Sheets when possible.

Use uploaded files when the source already exists in another format.


# Asset Debugger

*Last updated: May 12, 2026*

Use the Asset Debugger to check what Aissist can retrieve from your assets.

It helps you verify coverage, find conflicts, and confirm that the right source content is available before you go live.

### Open the Asset Debugger

1. Go to **Assets**.
2. Click **Debug** on the top right corner.
3. Enter a keyword or question.

### What to test

Use realistic questions from your workflows.

Test things like:

* return policy or warranty questions
* product, pricing, or shipping questions

### What to inspect

The Asset Debugger shows:

* which content was retrieved
* where that content came from
* whether the source is relevant to the question

This helps you confirm that Aissist can access the right knowledge.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FTexFZP2OpJNzvtrlEiEU%2FScreenshot%202026-05-12%20at%2010.32.12%E2%80%AFPM.png?alt=media&amp;token=045bff93-2551-42bc-97e4-60ac603c224a" alt=""><figcaption></figcaption></figure>

### Fix common issues

If the right content does not appear:

* confirm the asset is accessible
* check whether the page or document is publicly reachable
* add missing documentation or knowledge sources

If the wrong content appears:

* remove conflicting information
* separate unrelated content into different assets
* link assets more narrowly through sub agents

If the content is unclear:

* rewrite the source material
* make policies and procedures more explicit
* remove outdated or duplicated content

### When to use it

Use the Asset Debugger to:

* verify that important information is available
* find conflicting answers across sources
* check whether a topic is covered at all

### Best practice

Check asset retrieval before you tune instructions.

If the source knowledge is incomplete or inconsistent, fix that first.


# Create Sub Agents

*Last updated: June 6, 2026*

Sub agents define how Aissist handles specific scenarios.

Use them to detect intent, apply targeted instructions, trigger actions, and control handoff to humans.

Sub agents can also link to assets or actions for the workflow they handle.

### What sub agents do

Sub agents help you:

* organize conversations by scenario
* add contextual instructions only when needed
* link the right assets and actions
* control whether Aissist replies, drafts, hands off, stops, or closes conversations
* generate summary notes

For example, an `order_tracking` sub agent can detect shipping questions, check order status, and return tracking details.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FtXd4Y3aETXBGdmZ7Tta8%2Fscreencapture-console-aissist-io-sub-agents-2026-05-12-22_38_45.png?alt=media&amp;token=9a6f12ac-653f-472d-85af-3a291b13d2ea" alt=""><figcaption></figcaption></figure>

### Create a sub agent

Go to the sub agent creation screen and define:

1. a clear scenario
2. optional contextual instructions
3. linked assets or actions
4. optional context, task, summary, and acknowledgement fields
5. session behavior for reply, no response, or closure

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FNaizr68TEwhv2QBZ4LuC%2Fscreencapture-console-aissist-io-sub-agents-new-2026-05-12-22_47_08.png?alt=media&amp;token=58a8c1d6-1559-4377-b41c-de9e325a5628" alt=""><figcaption></figcaption></figure>

### Detection trigger

Choose when Aissist should detect the sub agent.

* **Inbound** — detect based on the user message.
* **Outbound** — detect based on Aissist's reply.

Use **Inbound** for user intents like returns or order status.

Use **Outbound** for outcomes like human transfer.

### Scenario

The scenario is the condition that triggers the sub agent.

Write it in simple language.

Examples:

* `user wants to make a return`
* `user asks where their order is`
* `user wants to cancel an order`

### Instructions

Instructions in a sub agent are contextual.

They apply only when that sub agent is detected.

Use them for scenario-specific handling, such as:

* ask for the order number
* check the return reason
* share the return policy
* tell the user a human will review the request

<details>

<summary>Context, task, summary, and acknowledgement</summary>

These fields add structure to the workflow.

* **Context** adds supporting information for the scenario.
* **Task** defines what Aissist should achieve.
* **Summary** captures structured output for your team.
* **Acknowledgement** sends a one-time message when the sub agent is first activated in the conversation.

Use acknowledgement for short notices or branding.

For example, an eSIM sales sub agent can collect travel details and generate a summary like:

```json
{
  "destination": "the destination of user travel",
  "number_of_days": "the number of days the user plans to travel",
  "number_of_esim": "the number of eSIMs the user wants"
}
```

The summary appears in the agent platform as a note or comment for the human team.

</details>

### Session controls

#### No Response for Current Interaction

Aissist ignores the current interaction and does not reply.

Use this for spam, no-reply emails, and out-of-office messages.

#### No Response After Current Interaction

Aissist responds once, then stops replying later in the same conversation.

Use this when you want to hand off after the current step.

You can combine this with gateway handover rules to send the conversation to the right human team.

#### Close

This closes the ticket or conversation when the sub agent is triggered.

{% hint style="info" %}
When **Respond only to messages recognized by listed sub-agents** is enabled, Aissist responds only when at least one listed sub agent matches.
{% endhint %}

<details>

<summary>Assets and actions</summary>

Sub agents can link to assets and actions.

Examples:

* Link `order_return` to a return policy asset.
* Link `order_tracking` to a Shopify `getOrder` action.

This keeps each workflow focused and relevant.

If asset retrieval feels noisy, review [Refine Assets](/tutorial/tune-aissist-behavior/refine-assets).

That page shows how to reduce unrelated context by linking assets to the right sub agents.

</details>

<details>

<summary>Agent platform behavior</summary>

When a sub agent is triggered, that tag is also added in the agent platform.

{% hint style="info" %}
Most agent platforms can use these tags for workflows, automation, and notifications.
{% endhint %}

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FdJcHUsv3isJ4pbqRPDjK%2Fagent-platform-tag.png?alt=media&amp;token=f46ced2f-eed5-4e22-a68c-636b3604b42b" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Handover rules in gateways</summary>

Sub agents can also route conversations to human agents.

In the gateway setup, add handover rules for the workflows that need a human team.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FD7t0ZD8Zko9mXVI1hBTl%2FScreenshot%202026-05-12%20at%2010.59.17%E2%80%AFPM.png?alt=media&amp;token=b2ae2089-9ca3-4e10-a9ff-604550bcf7dd" alt=""><figcaption></figcaption></figure>

In each rule, choose:

* the sub agent that should trigger handoff
* the team that should receive the conversation

Use this when different workflows should go to different teams, such as billing, returns, or technical support.

See [Deploy Gateway](/tutorial/deploy-gateway) for gateway setup and [Streamline with Human Team](/tutorial/streamline-with-human-team) for routing patterns.

</details>

### Best practice

Start with a small set of high-value sub agents.

Build one for each major workflow, test it in real conversations, then expand over time.


# Tune Aissist Behavior

*Last updated: May 13, 2026*

Use instructions and context to shape how Aissist responds.

Use the right level for the job:

* **Global** for rules that apply everywhere
* **Session** for guidance tied to a workflow
* **Interaction** for knowledge retrieved only when relevant

### How instruction levels work

Use this model to decide where information belongs.

| **Level**       | **Where to configure** | **When it applies**             | **Best for**                                       |
| --------------- | ---------------------- | ------------------------------- | -------------------------------------------------- |
| **Global**      | Workspace              | Always                          | tone, guardrails, identity, universal rules        |
| **Session**     | Sub agents             | After the workflow is triggered | workflow-specific guidance that should stay active |
| **Interaction** | Assets                 | Only for the current question   | reference knowledge retrieved on demand            |

### Global instructions and context

Global instructions and context live in the workspace.

Use them for information that should influence every conversation.

Examples:

* keep replies concise
* reply in a specific language
* never confirm an appointment directly
* use a specific brand identity or tone

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2F8DTSfQmVzcPfNmX2c3TD%2FScreenshot%202025-04-24%20at%2010.34.21%20PM.png?alt=media&amp;token=61eff264-c274-4ce2-8cb7-00e843cfff55" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Business name, identity, purpose, and task settings also act as global guidance.
{% endhint %}

### Session instructions and context

Session instructions and context live in sub agents.

Use them for workflow-specific behavior that should stay active once the scenario is detected.

Examples:

* return handling steps
* order tracking workflows
* escalation rules for billing issues
* structured summaries for the human team

{% hint style="info" %}
Session guidance stays active after the sub agent is triggered. It does not disappear after one message.
{% endhint %}

{% hint style="info" %}
Use [Create Sub Agents](/tutorial/create-sub-agents) to define workflow-specific instructions, context, summaries, and linked assets or actions.
{% endhint %}

### Interaction context from assets

Assets provide interaction-level context.

This content is retrieved only when it matches the current question.

Use assets for:

* FAQs and policy pages
* product details and help center content
* reference material that should appear only when relevant

See [Turn Assets into AI](/tutorial/turn-assets-into-ai) for setup details.

### What instructions can do

Instructions are best for shaping behavior.

Use them to:

* define tone, style, and response format
* tell Aissist how to act in a given scenario
* guide reasoning order or response flow
* tell Aissist what to prioritize in a reply

### What instructions cannot do

Instructions do not replace assets, sub agents, or integrations.

Do not use them to:

* retrieve live data from systems
* create tags, summaries, or workflow state changes on their own
* keep a conversation open or close it
* run business actions like sending notifications or updating records

Use sub agents and integrations when the workflow needs actions, routing, or structured outputs.

### What context does

Context gives Aissist the information it needs to answer well.

Use context to supply facts, reference material, and workflow details.

Put high-level facts in the workspace. Put workflow-specific details in sub agents. Put reference knowledge in assets.

### Best practice

Keep global instructions short.

Move topic-specific guidance into sub agents.

Use assets for knowledge retrieval, not for universal rules.


# Configure Workspace Settings

*Last updated: May 14, 2026*

Use **Workspace** to edit the global settings and instructions for a workspace.

These settings affect every conversation in that workspace.

### Workspace tabs

Workspace settings are split into these tabs:

* **Setting**
* **Character**
* **Instruction**
* **Context**
* **Greeting**
* **Escalation**
* **Advanced**

### Setting

Use **Setting** for workspace-level defaults and controls.

This tab includes response language settings and workspace actions like clone, backup, and restore.

If **Auto Language** is enabled, Aissist detects the user's language automatically.

If your users mostly use one language, set that language instead.

### Character

Use **Character** to define who Aissist is in this workspace.

Configure:

* **Business name and description**
* **Identity**
* **Purpose**
* **Style**

Give Aissist a friendly name in Identity if you want natural self-introduction.

### Instruction

Use **Instruction** for global behavior rules.

These rules apply across all conversations in the workspace.

Global instructions usually fit into two types:

**Generic** — applies everywhere.

Examples:

* be precise
* keep replies under 75 words
* use informal Dutch pronouns

**Scenario-based** — applies only in defined situations.

Examples:

* if the user asks for a meeting, send the booking link
* if the user asks for a human, explain the handoff

Use sub agents for workflow-specific behavior whenever possible.

{% hint style="info" %}
Keep workspace instructions concise, usually under 1000 English words.
{% endhint %}

### Context

Use **Context** for shared business facts.

Add details like support email, sales email, office address, or policy notes.

Keep this tab factual and reusable across conversations.

### Greeting

Use **Greeting** to define how a conversation starts.

You can set:

* a **Greeting Message**
* a **Greeting Acknowledgement**

The greeting message is the opening message Aissist sends.

The greeting acknowledgement is a short notice or branding line.

Aissist can rephrase the greeting naturally, so replies do not feel repeated.

### Escalation

Use **Escalation** to control when Aissist hands work to a human team.

You can customize:

* the **Escalation Scenario**
* the **Escalation Summary**
* the **Max Number of Interactions Before Escalation**

The escalation scenario defines when handoff should happen.

Example:

> "If the troubleshooting steps provided do not resolve the customer's issue, inform the customer that their case will be escalated to a specialized support team for further assistance."

The escalation summary defines the structured note left for the human team.

Example:

```json
{
  "symptoms": "user's reported issue",
  "troubleshooting_steps": "troubleshooting actions already taken"
}
```

The interaction limit lets you escalate automatically after too many unresolved back-and-forth messages.

For deeper handoff setup, see [Streamline with Human Team](/tutorial/streamline-with-human-team).

### Advanced

Use **Advanced** for supporting instructions that shape response logic.

#### Tasks

Use **Tasks** to describe what the workspace should accomplish.

Example:

* diagnose vehicle issues from user input
* recommend the right repair service

#### Announcement

Use **Announcement** for temporary or urgent messages.

Examples:

* service outage in one region
* temporary support delay
* holiday closure notice

#### User Context Guide

Use **User Context Guide** to tell Aissist how to read user attributes from the platform.

If you do not add instructions here, Aissist reads the metadata from the platform automatically.

You can review that raw metadata in **Session Context** on the session detail page.

If you add instructions here, Aissist summarizes the raw **Session Context** based on those instructions.

Use this field when you want Aissist to:

* extract only the fields that matter
* rewrite raw metadata into a shorter summary
* derive a simple result from the metadata

Before writing the instruction:

1. Verify what information Aissist needs from **Session Context**.
2. Write a clear summarization instruction for that information.
3. Test new sessions to confirm the summary works as expected.

You can also ask Aissist to generate new information from the raw metadata.

Example:

> "Summarize the user's name, email, and order history, including order number, line items, tracking URL, and shipping address."

Derived example:

> "The warranty policy is valid for 2 years from the order date. Based on the order metadata, summarize whether the order is still within warranty."

#### Close Instruction

Use **Close Instruction** to define when Aissist should close the conversation.

By default, Aissist does not close tickets or conversations.

Example:

> "Close the ticket once the user has confirmed their purchase and indicated no further assistance is needed."

When a ticket is closed, Aissist adds the `ai_closed` tag in the agent platform.

#### Language Detection Instruction

Use **Language Detection Instruction** when language choice needs extra guidance.

This is useful for mixed-language input or custom language markers.

Example:

> "If the user message contains 'language:', use the language code or name that follows as the response language."


# 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) 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).

### 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="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FqgJ66Grd4SF7xiof11eq%2FScreenshot%202025-04-25%20at%204.32.51%20PM.png?alt=media&amp;token=6db37313-7311-47ac-b1fd-d1206546fb62" 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="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FKRHtkUUaMxok655aizMA%2FScreenshot%202025-04-25%20at%204.41.22%20PM.png?alt=media&amp;token=166b43e6-1f08-4bd3-81c4-326294304338" 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="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FO2qzPf6iIJPUR9GRPOcx%2FScreenshot%202025-04-25%20at%204.44.44%20PM.png?alt=media&amp;token=b98e071d-b9a3-4b2e-8bf0-010b7dda60cc" alt=""><figcaption></figcaption></figure>

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

</details>

### Start small

Start with one repeatable workflow.

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


# Refine Assets

*Last updated: June 6, 2026*

Refine assets when Aissist gives incomplete, outdated, or inconsistent answers.

Update the source content, then test retrieval again.

See [Turn assets into AI](/tutorial/turn-assets-into-ai) for asset setup.

### Why refine assets

Assets shape the knowledge Aissist can retrieve in a conversation.

Refine them when you notice:

* missing operational details
* outdated policies or product facts
* repeated questions with weak answers
* conflicting guidance across sources

### What to update

Improve the source content, not just the reply.

Add the exact details users need to complete the workflow, such as:

* ordering steps
* policy exceptions
* required fields or documents
* links to the right page or form

### Reduce retrieval noise with sub agents

Associate assets with the correct [sub agents](/tutorial/create-sub-agents) to keep retrieval focused.

This reduces noise in the context Aissist uses for each reply.

If too many unrelated asset chunks are retrieved, answer accuracy can drop.

This can happen with any asset source, including websites, web pages, and Google Docs.

Use this pattern:

* link return assets to a return sub agent
* link order tracking assets to an order tracking sub agent
* link product policy assets to the sub agents that actually need them

### Check the response context in Session Detail

Use the session detail page to inspect how Aissist formed a reply.

For each AI response, review the context used to generate that response.

Look for:

* too many asset results in one reply
* asset content that does not match the current user question
* website or document chunks from unrelated workflows

If you see unrelated context, move those assets to the correct sub agent instead of leaving them broadly available.

This helps Aissist retrieve only the content that fits the active workflow.

### Example: Add missing purchase details

Open Goaaal often receives questions about replacement nets.

At first, Aissist gave a general answer. It confirmed replacement nets were available, but it did not explain how to place the order correctly.

The team fixed this by updating a Google Docs asset with the missing workflow details:

> **User asks about replacement nets**
>
> To order a replacement net:
>
> 1. Go to `https://opengoaaalusa.com/products/spare-parts`
> 2. Select the spare replacement net option.
> 3. Choose the quantity.
> 4. In the message field, include the product size or model and confirm it is for a replacement net.
> 5. Complete checkout.
> 6. Email the order number so the team can expedite dispatch.

After that update, Aissist returned clearer and more actionable answers.

The improvement came from refining the asset, not from adding a broader instruction.

### Best practices

* update the source where the missing detail belongs
* associate assets with the right sub agents to keep retrieval focused
* use session detail to spot unrelated asset context in AI replies
* keep operational steps explicit and easy to retrieve
* test asset retrieval after each major change

{% hint style="info" %}
Use the [Asset Debugger](/tutorial/turn-assets-into-ai/asset-debugger) to check whether Aissist can retrieve the exact content you expect.
{% endhint %}


# How to Write Better AI Instructions

*Last updated: May 29, 2026*

Good instructions make Aissist more accurate and more consistent.

Weak instructions lead to vague replies, missed steps, and unnecessary escalation.

Use this guide to write instructions that are clear, bounded, and easy to follow.

### Write clearer instructions

#### Start with one clear objective

State the job in direct language.

Weak instruction:

> Answer customer questions about pricing.

Stronger instruction:

> Provide concise pricing guidance. Do not give exact pricing without required inputs. Escalate when pricing depends on unavailable data.

This works because it defines:

* the task
* the limit
* the escalation trigger

#### Define what Aissist should not do

Aissist tries to be helpful. If limits are unclear, it may fill gaps.

Add explicit rules such as:

* do not guess
* do not estimate unavailable values
* do not invent product rules
* escalate when unsure

This is especially important for pricing, policy exceptions, and technical troubleshooting.

#### Separate facts from instructions

Put facts where they belong.

Use:

* **Workspace Context** for shared business facts
* **Assets** for reference knowledge
* **Instructions** for behavior rules
* **Sub agents** for workflow-specific logic

For example, do not explain a return policy only in instructions if the policy belongs in an asset.

See [Tune Aissist Behavior](/tutorial/tune-aissist-behavior) for how these layers work together.

#### Prefer intent over exact phrasing

Do not force one fixed sentence unless the wording must stay exact.

Weak instruction:

> Respond with: "You can order just one item."

Stronger instruction:

> Confirm that the customer can order a single item. Use natural wording that matches the conversation.

This keeps replies flexible without losing the intended message.

Use exact wording only when it is required for:

* legal or compliance statements
* approved disclaimers or promises
* text that must match another workflow exactly

For conversation closings, define the outcome instead of scripting the full reply.

<details>

<summary>Example: close a resolved support conversation</summary>

Weak instruction:

> When the user confirms the issue is fully resolved, respond with: "I'm glad we were able to resolve your issue. It was a pleasure assisting you today! If you need any further help, feel free to reach out anytime—we're available 24/7. Have a wonderful day!"

Stronger instruction:

> If the user confirms the issue is fully resolved, politely close the conversation.
>
> * Thank the user for contacting support.
> * Mention that help is available 24/7 if needed.
> * Wish the user a great day.
> * Do not continue troubleshooting or ask additional questions after the user confirms resolution.

This works better because it:

* preserves the goal
* lets the wording fit the conversation
* avoids repetitive scripted replies

</details>

#### Keep instructions bounded

Avoid open-ended phrasing such as:

* if relevant
* explain thoroughly
* add more details

Use precise constraints instead:

* keep the reply under 3 sentences
* ask one question at a time
* do not expand beyond the defined explanation

Specific constraints make replies more stable.

### Build workflow instructions

#### Use step-based workflows

Aissist follows step-by-step logic better than long paragraphs.

Instead of:

> When customers ask about pricing, answer clearly and collect details before escalating.

Write:

#### Pricing request flow

1. Ask for quantity.
2. Ask for ZIP code.
3. Collect any other required input.
4. Escalate if exact pricing still depends on unavailable data.

This reduces ambiguity and keeps behavior consistent.

#### Start sub agent instructions with a workflow title

For sub agents, begin with a short workflow name.

Then list the steps for that workflow.

This makes the instruction easier to scan and easier to maintain.

Instead of:

> When users ask where their order is, check whether they shared the order number, ask for it if missing, provide tracking details if available, and escalate if tracking cannot be found.

Write:

#### Order tracking workflow

1. Check whether the user shared the order number.
2. Ask for the order number if it is missing.
3. Provide tracking details if they are available.
4. Escalate if tracking is unavailable or the issue needs human review.

This structure works well for returns, cancellations, billing, and other workflow-specific sub agents.

#### Keep troubleshooting sequential

Give one next action at a time.

Do not send several troubleshooting steps in one message.

Use this pattern:

1. diagnose from the current message
2. give one clear next step
3. wait for the result
4. continue only if needed
5. escalate after the defined limit

This keeps the conversation grounded in the current state.

#### Define escalation clearly

Do not write vague rules like:

> Escalate if necessary.

Write exact triggers instead:

* required data is missing
* the user asks for a human
* the answer depends on unavailable system access
* the workflow remains unresolved after a defined number of steps

Use **Escalation** in workspace settings to customize global handoff rules.

Use sub agents when only one workflow needs special escalation behavior.

See [Configure Workspace Settings](/tutorial/tune-aissist-behavior/configure-workspace-settings) for workspace fields.

See [Streamline with Human Team](/tutorial/streamline-with-human-team) for handoff workflow guidance.

### Format for readability

#### Prefer lists over tables

Use bullet lists and short sections for most instructions.

This structure is usually easier to follow than tables.

Use lists for:

* rules
* step-by-step workflows
* conditions and exceptions

Use tables only when the relationship between rows and columns matters.

For example, tables can work for:

* comparing instruction levels
* mapping channels to behaviors
* listing fixed field requirements

If a table is not necessary, rewrite it as headings and bullets.

<details>

<summary>Example: rewrite a table as a workflow list</summary>

Less effective:

| Situation              | Response                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------ |
| User asks for a refund | Ask for the order number, ask for the reason, explain the policy, escalate if needed |
| User asks for tracking | Ask for the order number, provide tracking if available, escalate if unavailable     |

Better:

#### Refund request

* Ask for the order number.
* Ask for the reason for the refund.
* Explain the relevant policy.
* Escalate if the case needs review.

#### Tracking request

* Ask for the order number.
* Share tracking details if available.
* Escalate if tracking is unavailable.

The second version is easier to scan, update, and follow.

</details>

### Put each rule in the right place

Use the field that matches the job:

* **Instruction** — universal behavior rules
* **Context** — shared business facts
* **Tasks** — what the workspace should accomplish
* **Escalation** — global handoff logic
* **Sub agent Scenario** — when a workflow should trigger
* **Sub agent Instruction** - how the workflow should work
* **Sub agent Task** — what that workflow should achieve
* **Sub agent Summary** — structured notes for the human team
* **Assets** — reference knowledge retrieved only when relevant

If one rule applies only to returns, billing, or tracking, move it into a sub agent.

### Common mistakes

Avoid these patterns:

* mixing facts, tone, and workflow steps in one long paragraph
* leaving unknowns undefined
* forcing rigid wording for every reply
* turning example replies into required scripts
* using instructions where an asset or action is needed
* writing escalation rules without clear triggers

### Best practice

Keep instructions short.

State limits directly.

Use sub agents for workflow logic and assets for knowledge.


# Deploy Gateway

*Last updated: May 13, 2026*

Gateways connect Aissist to your support and messaging platforms.

A gateway defines:

* where Aissist should work
* how it should respond
* which conversations it should handle

### Create a gateway

1. Go to **Deploy → Gateways**.
2. Click **Add Gateway**.
3. Choose your platform.
4. Follow the setup steps to authorize the connection.
5. Set the managing point, escalation target, and any handover rules you need.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FGM9y4CTidMYerI630ARJ%2Fscreencapture-console-aissist-io-deploy-gateways-new-2026-05-13-17_58_10.png?alt=media&amp;token=d3113304-ee21-4472-89c8-99f8fd31615d" alt=""><figcaption></figcaption></figure>

### Choose the managing point and escalation target

The managing point decides which conversations the gateway handles.

Once configured, Aissist only manages conversations in those points.

The escalation target is the default human destination when Aissist escalates a conversation.

Depending on the platform, the managing point and escalation target can be an inbox, team, group, or queue.

To limit Aissist to specific traffic, use routing rules in the agent platform first.

For example, add a tag, route messages into one inbox, or assign conversations to one queue.

Then use that target as the gateway managing point.

<details>

<summary>Managing points and escalation targets</summary>

Use managing points to control scope.

Use escalation targets to control where escalated conversations should go by default.

| **Platform**                               | **Managing Point** | **Escalation Target** |
| ------------------------------------------ | ------------------ | --------------------- |
| [Front](/gateways/front)                   | Inbox              | Inbox                 |
| [Gorgias](/gateways/gorgias)               | Team               | Team                  |
| [Intercom](/gateways/intercom)             | Team inbox         | Team inbox            |
| [Zendesk](/gateways/zendesk)               | Group              | Group                 |
| [HubSpot](/gateways/hubspot)               | Inbox              | Inbox                 |
| [Freshdesk Omni](/gateways/freshdesk-omni) | Group              | Group                 |
| [Kustomer](/gateways/kustomer)             | Queue              | Queue                 |
| [Salesforce](/gateways/salesforce)         | Queue              | Queue                 |

{% hint style="info" %}
Avoid multiple gateways on the same managing point.
{% endhint %}

</details>

### Add handover rules

Use handover rules when different sub agents should route conversations to different human targets.

In the gateway setup, add a handover rule for each workflow that needs a different destination.

In each rule, choose:

* the sub agent that should trigger handoff
* the target that should receive the conversation

The target can be a team, group, inbox, or queue, depending on the platform.

This works well when billing, returns, and technical support should go to different destinations.

Use sub agents to decide **when** handoff should happen.

Use the escalation target for the default destination.

Use handover rules for fine-grained routing by workflow.

This lets Aissist assign different conversations to different targets based on the matched sub agent.

See [Create Sub Agents](/tutorial/create-sub-agents) for workflow setup and [Streamline with Human Team](/tutorial/streamline-with-human-team) for routing patterns.

### Configure thinking and handover messages

Use these messages to keep the customer informed during slower workflows and human handoff.

#### Thinking message

The thinking message is sent when Aissist takes longer than usual to respond.

Use it to reassure the customer that the request is still being processed.

This helps keep the customer engaged while Aissist is working.

#### Handover message

The handover message is sent when Aissist hands the conversation to a human team.

Use it to tell the customer that a human agent will continue the conversation.

#### Language handling

Both messages are rephrased in the user's language before they are sent.

This helps the message feel natural in the conversation, even if you configure it once in the gateway.

### Supported platforms

<details>

<summary>Supported Agent Platforms</summary>

See the full platform list in [Gateways](/gateways).

</details>

### Best practice

Start with one platform and one managing point.

Run **Auto-Pilot** for a short period of time, review live outputs, optimize Aissist, then gradually increase the **Auto-Pilot** time.


# Streamline with Human Team

*Last updated: May 14, 2026*

Use human handoff when Aissist should stop and let your team take over.

This works best when you define:

* when Aissist should escalate
* what note Aissist should leave for the team
* where the conversation should go after escalation

### How human handoff works

Human handoff usually has three parts:

1. define the handoff behavior in global instructions or a sub agent
2. let Aissist detect that handoff happened
3. route the conversation to the right team in the gateway

### Step 1: define when Aissist should escalate

Tell Aissist when to hand work to the human team.

You can do this in:

* **Global Instructions** for rules that apply everywhere
* **Sub Agents** for workflow-specific handoff

Sub agents are the better choice for most handoff flows.

For example, a return workflow can tell Aissist to:

* collect the order number
* collect the customer email
* collect the return reason
* tell the customer the case has been forwarded to the team after all details are collected

An order tracking workflow can tell Aissist to:

* send the tracking URL when the user asks about order status
* check whether the tracking shows the order is stuck
* tell the customer the logistics team has been informed when the shipment is stuck

### Step 2: let Aissist detect escalation

Aissist includes built-in escalation detection.

By default, Aissist checks these escalation signals:

1. the user explicitly asks for escalation or a human agent
2. Aissist clearly says the case is escalated or handed off
3. there is a possible escalation condition that is not yet confirmed
4. the conversation is outside the defined scope or context

This includes statements about:

* transferring or escalating the case
* checking, confirming, notifying, or investigating later
* contacting someone or following up later
* lacking the understanding, information, context, access, or capability to help

Confirmed escalation signals trigger automatic escalation.

Unconfirmed escalation conditions does **not** trigger an escalation. For example, if Aissist is still waiting for the user to provide required information—such as a user ID, order number, or any other details needed by the human support team—it does not escalate the conversation until all necessary information has been collected.

In these situations, Aissist would keep the conversation open, request the missing details, and only proceed with the escalation once the required information has been confirmed by the user.

When escalation is confirmed, or when the conversation is clearly out of context, the system escalates automatically.

It adds:

* the `sys_escalation` tag
* a default escalation note with the issue summary and next step

#### Tips for better escalation detection

Write escalation instructions with clear confirmation rules.

This works best:

* define what counts as a direct user request for a human
* define which handoff statements count as confirmed escalation
* define which out-of-context cases should be handed to a human team

Avoid vague triggers such as:

* may need review
* might require escalation
* seems complex

These signals are not confirmed yet.

They should lead to one more check, not immediate escalation.

### Step 3: customize escalation behavior

Use the **Escalation** settings in the workspace when you need tighter control.

#### Customized Escalation Instruction

You can customize how escalation should be detected.

These instructions do not guide how Aissist replies to the user.

They only check the user's message and Aissist's reply to decide whether escalation is needed.

For example:

> "Only escalate when the user has a payment issue."

This lets you narrow escalation to the cases that matter.

Use **Global Instructions** and **Sub Agents** to control reply behavior.

Use **Customized Escalation Instruction** only to control escalation checks.

{% hint style="info" %}
If you change the customized escalation instruction here, update the related **Global Instructions** and **Sub Agents** as well.

This keeps reply logic and escalation logic aligned.

It also improves escalation accuracy.
{% endhint %}

#### Escalation Summary

You can also define the structured summary that Aissist leaves for the human team.

For example:

```json
{
  "destination": "the destination of user travel",
  "number_of_days": "the number of days that user plan to travel",
  "number_of_esim": "the number of eSIM that user wants",
  "Model of Phone": "The model of phone user is using if provided"
}
```

Use this to capture the information your team needs before taking over.

#### Suspend Afterwards

Turn on **Suspend Afterwards** if Aissist should stop replying after escalation.

This is useful when the human team should fully own the conversation from that point.

### Step 4: route escalations in the gateway

Once Aissist escalates, the gateway decides where the conversation should go.

If you want a specific team to handle the conversation, use this step to route the escalation.

You can also skip gateway routing and use platform rules or automation to assign the conversation based on the `sys_escalation` tag.

#### Escalation target

Set an **escalation target** when escalated conversations should go to one default team.

When this is configured, Aissist does more than add the `sys_escalation` tag and escalation note.

It also assigns the conversation to that target.

The target can be an inbox, team, group, or queue, depending on the platform.

#### Handover rules

Use **handover rules** when different workflows should go to different teams.

Each handover rule maps:

* one or multiple sub agents
* a destination target

This gives you finer control than one default escalation target.

For example:

* billing sub agents can go to the billing team
* return sub agents can go to the returns team
* technical support sub agents can go to the support queue

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FN76G2TR8M5VnaJAN97aF%2FScreenshot%202026-05-12%20at%2010.59.17%E2%80%AFPM.png?alt=media&amp;token=42123b5b-65ad-4b9c-9d6f-f2846ea8d714" alt=""><figcaption></figcaption></figure>

See [Deploy Gateway](/tutorial/deploy-gateway) for gateway setup details.

### Optional platform routing

You can also build routing rules on your platform using escalation tags.

#### Notify or assign on tag

Use platform rules to notify or assign a human agent when a conversation receives an escalation or handoff tag.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FXQwBE4OTvHW0IB2weK9r%2FScreenshot%202026-05-14%20at%2010.38.09%E2%80%AFAM.png?alt=media&amp;token=c08d79a4-19d2-42cd-a426-aa2e071ab35e" alt=""><figcaption></figcaption></figure>

#### Dedicated inbox

Create a shared inbox for conversations that need human attention.

Then add a platform rule to move tagged conversations there.

This works well for teams that process handoff from a shared queue.

#### Shared view

Some platforms use views instead of inboxes.

In that case, create a shared view for escalation or handoff tags and have the team monitor it.

### Recommended setup

For most teams:

1. use sub agents to define when handoff should happen
2. customize escalation rules and summaries in the workspace when needed
3. turn on **Suspend Afterwards** if humans should take over fully
4. set an escalation target for the default destination
5. add handover rules if different workflows should go to different teams

This keeps escalation logic, summaries, and routing clearly separated.


# Instructions, Assets, and Sub Agents

*Last updated: May 14, 2026*

Use this model to decide where information belongs in Aissist.

Aissist uses three layers of guidance:

* **Instructions** for global behavior
* **Sub agents** for workflow-specific handling
* **Assets** for interaction-level knowledge

Each layer has a different job.

This is the simplified version of the global, session, and interaction model in [Tune Aissist Behavior](/tutorial/tune-aissist-behavior).

### Instructions

Instructions are the global rules for your workspace.

They shape how Aissist behaves in every conversation.

Use instructions for things like:

* tone and writing style
* escalation rules
* broad response requirements

Keep them short and always relevant.

See [Tune Aissist Behavior](/tutorial/tune-aissist-behavior) for more guidance.

### Sub Agents

Sub agents define how Aissist handles specific scenarios.

They apply only when a matching scenario is detected.

Use sub agents for:

* returns
* order tracking
* sales qualification

Sub agents can also:

* add contextual instructions, context, task, summary, and acknowledgement
* link specific assets or actions
* control reply, handoff, no response, or close behavior

See [Create Sub Agents](/tutorial/create-sub-agents).

### Assets

Assets are the knowledge sources Aissist searches during a conversation.

They can include help center pages, websites, policies, and documents.

When a user asks a question, Aissist retrieves relevant asset content only when it matches the current question.

Use assets for:

* policy and product information
* operational details
* reference material the agent should cite or follow

See [Turn Assets into AI](/tutorial/turn-assets-into-ai).

### How they work together

These layers work together like this:

1. **Instructions** set the global behavior for the workspace.
2. **Sub agents** add workflow-specific logic after a matching scenario is triggered.
3. **Assets** provide interaction-level knowledge when relevant to the current question.

In practice, a sub agent can also link the assets or actions needed for that workflow.

This keeps responses consistent, relevant, and focused.

### Best practice

Use each layer for the right job:

* put broad rules in **Instructions**
* put workflow logic in **Sub Agents**
* put knowledge in **Assets**

Avoid putting everything in one place.

That makes the agent easier to manage and more accurate over time.


# Simulator

*Last updated: May 14, 2026*

Use the Simulator to test how Aissist responds before you go live.

It shows the reply, the context behind it, and any actions or sub agents involved.

### Open the Simulator

1. Go to **Simulator** from the left navigation.
2. Set input context, such as email or order number, if needed.
3. Enter a test message.
4. Review the result and supporting details.

Use input context when the workflow depends on customer identity, order data, or other platform attributes.

### What to test

Use realistic examples from your live workflows.

Test things like:

* common customer questions
* edge cases and sensitive requests
* scenarios that should trigger sub agents
* scenarios that should call actions

If your workflow depends on customer identity or order context, use the simulator settings to mirror a real case.

### What to inspect

The Simulator helps you inspect:

* **Response** — the reply Aissist generated
* **Output Context** — the instructions, assets, and sub agents that influenced it
* **Sub Agents Triggered** — which sub agent matched and why
* **Actions Called** — which actions ran and with what parameters
* **Action Response** — what the action returned
* **Escalation and Summary** — whether the workflow escalated and escalation summary

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FAOnPLC41fsWJWUeWfZab%2FScreenshot%202026-05-14%20at%202.41.51%E2%80%AFPM.png?alt=media&amp;token=c86a208b-dedc-4fa2-8001-83ba4a8c94b9" alt=""><figcaption><p>Example Simulator view</p></figcaption></figure>

### Fix common issues

If the result is wrong:

* search **Output Context** with keywords
* update **Instructions** or **Sub Agents** if behavior or workflow logic is off
* update **Assets** if knowledge is missing, outdated, or conflicting
* update **Actions** if parameters, lookup inputs, or returned data are incorrect

### Recommended workflow

Use the Simulator whenever you:

* add or change instructions
* add or change assets
* create or edit sub agents
* connect or update actions

Use the Simulator to validate reply logic before live traffic.

Use [Deploy Gateway](/tutorial/deploy-gateway) when you are ready to deploy Aissist in the real platform.

For action-specific troubleshooting, use [Action Debugger](/integrations/action-debugger).

For asset retrieval checks, use [Asset Debugger](/tutorial/turn-assets-into-ai/asset-debugger).

### Best practice

Test one workflow at a time.

Fix issues at the source, then re-run the same scenario until the result is stable.


# In-note Command

*Last updated: May 14, 2026*

Use in-note commands to run AI-assisted workflows from an internal note in your agent platform.

In-note commands work with gateways that have **Co-Pilot** enabled.

### Create an in-note command

Go to **Deploy → Tools → In-Note Command** to create and manage commands.

Each command has an ID that you can call later from an internal note.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2F9OVFNhOTVk5p94mgrGiY%2FScreenshot%202026-05-14%20at%203.48.33%E2%80%AFPM.png?alt=media&amp;token=9f45407e-ec1d-44c3-ac13-69a32c52f681" alt=""><figcaption><p>Example of using an in-note command in a conversation</p></figcaption></figure>

### Command types

Choose the command type that fits the workflow.

#### Analyze

Analyze the conversation, extract key information, and write a summary note.

If configured, it can also update platform attributes.

Use this for structured reporting, case wrap-up, and attribute updates.

When creating an **Analyze** command, write a clear command instruction for what Aissist should extract.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FBIs4c6ZH3943r4yc1mEI%2FScreenshot%202026-05-14%20at%203.49.14%E2%80%AFPM.png?alt=media&amp;token=a07637bd-0f7c-42ff-838c-5ac847a05393" alt=""><figcaption></figcaption></figure>

Examples:

* identify the user's contact reason
* summarize the user's destination, travel duration, and device make or model

You can also enable schema output and agent platform update.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FOyEQt2Uz1gMDoXekXiZ2%2FScreenshot%202026-05-14%20at%203.49.34%E2%80%AFPM.png?alt=media&amp;token=2cbae095-5c8c-433d-acdb-a0dd65de7beb" alt=""><figcaption></figcaption></figure>

When platform update is enabled:

* make sure each attribute name matches the platform attribute exactly
* if an attribute must be one value from a list, include all allowed options in the command instruction

After Aissist analyzes the conversation, it writes a note and updates the platform attributes.

#### Evaluate

Evaluate the conversation against a linked evaluation setup.

Use this for QA workflows and review scoring.

#### Rephrase, Translate Then Send

Rephrase the input, translate it into the user's language, and send it to the user.

Use this for agent-assisted follow-up messages.

#### Summarize

Summarize the conversation and output a note.

Use this for quick handoff notes and internal summaries.

#### Translate

Translate the input into the user's language.

If sending is enabled, Aissist also sends the translated message to the user.

### Link assets and actions

In-note commands can also link to assets and actions.

Use assets when the command needs reference knowledge.

Use actions when the command needs live system data or a workflow step.

### Write the command instruction

Each in-note command needs a command instruction.

This instruction tells Aissist what to analyze, summarize, translate, evaluate, or send.

Keep the instruction specific and structured.

For example, tell Aissist exactly which fields to extract, which summary you want, or which allowed values it must choose from.

If the command updates platform attributes, define those attributes clearly in the instruction.

If one attribute must match a predefined list, include the full list in the instruction so Aissist selects a valid value.

### Enable Co-Pilot in the gateway

In-note commands work only after **Co-Pilot** is enabled on the gateway.

In the gateway settings, enable **Enable Co-Pilot with this Gateway**.

Once enabled, the gateway can process in-note commands for conversations assigned to its team.

### Run a command from an internal note

To call a command, send an internal note in this format:

```
// + command_id
```

Replace `command_id` with the command ID you created in **Deploy → Tools → In-Note Command**.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2F2ToLjnPXa9MwAKMK2DMd%2FScreenshot%202026-05-14%20at%203.41.13%E2%80%AFPM.png?alt=media&amp;token=b241c7a5-8ef1-4d23-a77f-d63cfc49b950" alt=""><figcaption></figcaption></figure>

### How command routing works

When Aissist receives the note, it first checks the conversation assignee team.

It uses that team to locate the gateway with **Co-Pilot** enabled.

Once the gateway is found, Aissist looks for the command by its ID.


# Use Images in Instructions

*Last updated: May 14, 2026*

You can include publicly hosted images in instructions.

Use this when the image should directly influence how Aissist responds.

Good use cases include:

* product identification
* UI references for agent workflows
* visual troubleshooting guidance

Any public image host works.

This example uses [Postimages](https://postimg.cc/).

### Step 1 — Upload the image

1. Go to [**https://postimg.cc/**](https://postimg.cc/)
2. Click **Choose images** and select your image file.
3. Wait for the upload to finish.

### Step 2 — Copy the direct image URL

1. Once uploaded, you’ll see several link formats.
2. Copy the **Direct Link** — it will look like:

   ```
   https://i.postimg.cc/W15gQMD7/image_name.png
   ```

### Step 3 — Insert the image

Use this image format:

```markdown
![image_name](https://i.postimg.cc/W15gQMD7/image_name.png)
```

**Example:**

```markdown
![product-variant](https://i.postimg.cc/W15gQMD7/snowboard.png)
```

### Step 4 — Add it to the instruction

Paste the image line directly into the instruction.

Aissist will see and process the image.

### Tips

* Use **PNG** or **JPG** for best compatibility.
* The image URL **must be public** — if it opens in your browser without login, it will work.
* Keep image file sizes under **5MB** for faster loading.

### Best practice

Use images only when they improve the instruction.

Do not add images for general knowledge that belongs in assets.

Keep the surrounding instruction clear and specific, so the image supports one defined task.


# Aissist Build Checklist

*Last updated: May 15, 2026*

Use this checklist before you test or deploy a new Aissist workflow.

### Instructions and context

Make sure you:

* keep global instructions short and direct
* put workflow-specific rules in sub agents
* put shared business facts in workspace context
* avoid mixing facts, tone, and workflow logic in one long instruction

See [Tune Aissist Behavior](/tutorial/tune-aissist-behavior) for the instruction model.

### Assets

Make sure you:

* add the sources Aissist needs for the workflow
* remove outdated or conflicting information
* include the exact details users need to complete the task
* verify retrieval with [Asset Debugger](/tutorial/turn-assets-into-ai/asset-debugger)

See [Turn Assets into AI](/tutorial/turn-assets-into-ai) for asset setup.

### Actions

Make sure you:

* name each action clearly
* describe what it does and when it should run
* define parameters with clear names and guidance
* test action inputs and outputs with [Action Debugger](/integrations/action-debugger)

Use actions when the workflow needs live data or system changes.

### Sub agents

Make sure you:

* define one clear scenario for each sub agent
* link only the assets and actions needed for that workflow
* set the right reply, handoff, no response, or close behavior
* add summary or acknowledgement only when the workflow needs it

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

### Test before deployment

Make sure you:

* test thoroughly in [Simulator](/tutorial/simulator)
* use realistic input context, such as email or order number, when needed
* review output context, triggered sub agents, and action calls
* fix issues at the source, then test the same scenario again

### Deploy safely

Make sure you:

* start with one narrow managing point
* enable the right operating mode for the workflow
* run **Auto-Pilot** for a short period first
* review live results before expanding coverage

See [Deploy Gateway](/tutorial/deploy-gateway) for deployment setup.

### Best practice

Build one repeatable workflow first.

Test it, monitor it, then expand to the next workflow.


# Configure Notifications

*Last updated: May 14, 2026*

Configure email and Slack notifications for a workspace.

Use notifications to keep your team informed about alerts and reports.

### Notification types

You can send:

* **Event notifications** for important events
* **Hourly alerts** for operational monitoring
* **Daily reports** for day-to-day review
* **Weekly reports** for higher-level trends

Use email for personal delivery.

Use Slack for shared visibility.

### What you can configure

You can configure:

* **Email notifications** for each team member
* **Slack notifications** for the workspace through one or more webhooks

### Before you start

Make sure:

* you can open the target workspace
* the workspace has team members assigned
* you can create or manage Slack webhooks if you plan to use Slack

### Configure email notifications

Email notifications are set per team member.

One member's settings do not apply to the rest of the workspace.

#### Step 1 — open notification settings

1. Open Aissist Console.
2. Go to your workspace.
3. Go to **Deploy → Notification → Settings**.

#### Step 2 — choose a team member

1. In the right panel, click the member you want to configure.
2. In **Email Notifications**, enable the types you want:
   * Event notifications
   * Daily reports
   * Weekly reports

#### Step 3 — save

1. Click **Save Changes**.
2. Confirm the success message appears.

Repeat for each team member you want to configure.

### Configure Slack notifications

Slack notifications are configured at the workspace level.

Use them to send shared alerts and reports into one or more channels.

#### Step 1 — create an incoming webhook in Slack

1. Go to <https://api.slack.com/apps>.
2. Click **Create New App**.
3. Choose **From scratch**.
4. Enter an app name (for example, `Aissist Notifications`) and select your Slack workspace.
5. In the app settings, open **Incoming Webhooks**.
6. Turn on **Activate Incoming Webhooks**.
7. Click **Add New Webhook to Workspace**.
8. Choose the channel where alerts should be posted.
9. Authorize the app.
10. Copy the generated webhook URL (format: `https://hooks.slack.com/services/...`).

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2Fr8y0ymywRiju9Es6Zz3L%2FScreenshot%20From%202026-02-27%2016-50-58.png?alt=media&amp;token=4f16d319-ae9d-4446-800c-cabbfa43ea93" alt=""><figcaption></figcaption></figure>

#### Step 2 — add the webhook in Aissist

1. Go to **Deploy → Notification → Settings**.
2. In **Slack Notifications**:
   * enable Slack notifications
   * click **Add webhook**
3. Fill in:
   * **Channel label** (example: `#support-alerts`)
   * **Webhook URL** (copied from Slack)
4. Choose which notifications this webhook should receive:
   * Event alerts
   * Daily reports
   * Weekly reports
   * Hourly alerts
5. Click **Save Changes**.

#### Step 3 — optionally add more webhooks

You can add multiple webhooks for different channels.

* `#support-alerts` for event + hourly alerts
* `#leadership-reports` for daily + weekly summaries

### Choose the right destination

Use **email** when one person should receive the notification directly.

Use **Slack** when a team should monitor the same alerts or reports.

### Best practice

Send alerts and reports to different destinations.

For example:

* send urgent alerts to a shared Slack channel
* send reports to an operations or leadership channel
* keep email notifications limited to the people who need them


# Integrations

*Last updated: May 15, 2026*

Connect Aissist to your business systems and data sources.

Use integrations to give Aissist access to current data and real workflows.

### What integrations do

Integrations help Aissist:

* Read customer, order, inventory, and shipment data.
* Power actions like order lookup, cancellation, and updates.
* Use live system context during customer conversations.

### When to use integrations

Use integrations when Aissist needs live business data.

This is useful for things like order lookup, shipment status, CRM data, or account updates.

If static knowledge is enough, use [Turn Assets into AI](/tutorial/turn-assets-into-ai) instead.

### Integrations vs actions

An **integration** connects Aissist to an external system.

An **action** uses that connection during a conversation.

For example, connect Shopify as the integration, then use actions like order lookup or order update.

### Before you connect

Make sure you have:

* access to the external system
* the credentials or authorization needed to connect it
* a clear idea of which actions Aissist should use

### Available integrations

Choose the system that holds the live data you need.

Then connect it and configure the actions Aissist should call.

#### Commerce

{% content-ref url="/pages/cuR4hmudRurIKX7Yg3u2" %}
[Shopify](/integrations/shopify)
{% endcontent-ref %}

{% content-ref url="/pages/guK7TJ4hMPQ5416Y9U1k" %}
[WooCommerce](/integrations/woocommerce)
{% endcontent-ref %}

{% content-ref url="/pages/3bAsToP4NfREbdihn7gE" %}
[Adobe Commerce (Magento 2)](/integrations/adobe-commerce-magento-2)
{% endcontent-ref %}

#### Shipping

{% content-ref url="/pages/vluCp7ptjnm0VPZX2074" %}
[ShipStation](/integrations/shipstation)
{% endcontent-ref %}

{% content-ref url="/pages/GPR30n5Fwl7iOlrfUFF3" %}
[ParcelPanel](/integrations/parcelpanel)
{% endcontent-ref %}

#### Custom APIs

{% content-ref url="/pages/c3YrMiBNbO5ddBZWXn3M" %}
[RESTful API](/integrations/restful-api)
{% endcontent-ref %}

{% content-ref url="/pages/LC50xhXvhsCnvA4gQNXG" %}
[AWS Lambda](/integrations/aws-lambda)
{% endcontent-ref %}

### Next step

After you connect an integration:

1. configure the actions you want Aissist to use
2. test those actions in [Action Debugger](/integrations/action-debugger)

Use [Simulator](/tutorial/simulator) when you want to test the full conversation flow with those actions.


# Shopify

*Last updated: May 15, 2026*

Connect Shopify to let Aissist read store data and run commerce actions.

Shopify is the integration.

Actions use Shopify during conversations.

With Shopify, Aissist can work with:

* customers and orders
* shipping, fulfillment, and returns
* inventory and products
* actions like address updates and order cancellation

### Before you start

You currently need a Shopify access token to complete setup.

{% hint style="warning" %}
Login-based Shopify connection is not available yet. Use an access token instead.
{% endhint %}

{% hint style="info" %}
On the Shopify Basic plan, Shopify restricts access to some personal customer data, such as name, address, phone number, and email.
{% endhint %}

<details>

<summary>Create the Shopify integration</summary>

#### Step 1: add the integration

1. Go to **Workspace → Integrations**.
2. Click **Add Integration**.
3. Choose **Shopify**.
4. Enter:
   * a name for the integration
   * the shop name
   * the shop URL
   * the access token

#### Step 2: create a Shopify access token

1. Log in to your **Shopify dashboard**.
2. Navigate to **Settings** → **Apps and Sales Channels** → **Develop Apps**.
3. Enable **Custom App Development**.
4. Click **Create an app** and give it a name.
5. Open the app, go to **API Credentials**, then click **Configure Admin API Scopes**.
6. Grant these permissions:
   * `read_shipping`
   * `read_fulfillments`
   * `read_merchant_managed_fulfillments`
   * `read_customers`
   * `read_inventory`
   * `read_orders`
   * `read_returns`
   * `read_products`
   * `read_product_listings`
   * `write_orders`
7. Click **Install App**.
8. Copy the **Admin API Access Token**.

[See Shopify’s guide](https://shopify.dev/docs/apps/auth/admin-app-access-tokens) for more detail.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2F8p1DrODoyrgtdsQSzErr%2FScreenshot%202024-09-17%20at%2011.17.32%20PM.png?alt=media&amp;token=883f9a30-604f-4cff-b2f9-56e9b20eda27" alt=""><figcaption></figcaption></figure>

#### Step 3: finish setup in Aissist

1. Return to Aissist.
2. Paste the access token into the Shopify integration.
3. Click **Test** to confirm the token and URL work.

Example:

* Name: Aissist Shopify
* Shop: aissistant
* Shop URL: `https://aissistant.myshopify.com`
* Access Token: paste the token you created

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FR1vEzUmD17jWTQxpuwfB%2FScreenshot%202025-04-26%20at%2012.09.41%20PM.png?alt=media&amp;token=2d07f91a-a456-4f38-bd78-c52440ebf832" alt=""><figcaption><p>Shopify integration builder</p></figcaption></figure>

</details>

<details>

<summary>Default actions</summary>

The Shopify integration includes default actions for common workflows.

Use them when the built-in Shopify methods already match your workflow.

You can choose whether each action runs:

* at the start of a session
* during an interaction
* in both places

Each default action includes predefined descriptions and parameters.

Create custom actions only when you need store-specific logic.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2Fku3El8NRiHWMpYCRW6Rx%2FScreenshot%202026-05-14%20at%207.18.13%E2%80%AFPM.png?alt=media&amp;token=8b10ea9c-bb48-454b-b6a9-624fc17168f5" alt=""><figcaption><p>Actions of Shopify integration</p></figcaption></figure>

</details>

<details>

<summary>Custom actions</summary>

You can also create custom Shopify actions.

If you do, turn off overlapping default actions to avoid conflicts.

#### Create a custom action

1. Select the integration then go to **Actions**.
2. Click **Add Action**.
3. Choose a method.
4. Give the action a clear name and description.

Available methods include:

`getOrder`, `getCustomer`, `getCustomerOrders`, `sendOrderInvoice`, `cancelOrder`, `updateOrderAddress`, `addOrderTags` , `unsubscribeMarketingEmail` , `getProducts`, and `getProductById`

#### Configure the action

You can:

* choose whether it runs inbound or outbound
* define trigger scenario
* customize parameters for your store logic

Use parameter descriptions that match your store rules.

Example store-specific guidance:

> order\_id: order IDs start with an `E` followed by 8 digits
>
> warranty\_days: warranty period in days, use constant `730`
>
> match\_email: only return the order if the email matches, use constant `true`
>
> order\_in\_last\_n\_days: retrieve orders from the last `180` days

You can also add instructions for how Aissist should summarize large action responses.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FHCrH710l2SfTfudgMota%2Fscreencapture-console-aissist-io-workspace-actions-2869482a-30eb-47c8-bb56-a5d5edb6dec8-2025-04-26-12_16_47.png?alt=media&amp;token=f69cb9d8-08c0-4edd-addb-4f7b92048624" alt=""><figcaption><p>Example getCustomer action</p></figcaption></figure>

</details>

### Next step

After setup, test your Shopify actions in [Action Debugger](/integrations/action-debugger).


# WooCommerce

*Last updated: May 15, 2026*

Connect WooCommerce to let Aissist read store data and run commerce actions.

WooCommerce is the integration.

Actions use WooCommerce during conversations.

With WooCommerce, Aissist can work with:

* customers and orders
* products and inventory
* refunds and subscriptions
* actions like address updates and order cancellation

<details>

<summary>Create the WooCommerce integration</summary>

#### Step 1: create API credentials

1. Log in to your WooCommerce dashboard.
2. Go to **Settings → Advanced → REST API**.
3. Click **Add Key**.
4. Save the **Consumer Key** and **Consumer Secret**.

{% hint style="info" %}
Save the key and secret when you create them. WooCommerce may not show them again later.
{% endhint %}

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2F5ZwKichKzs7n1RjbNrHw%2Fwoocommerce_key.png?alt=media&amp;token=9f70dd9b-096d-4083-a71a-249eed8ceaef" alt=""><figcaption><p>Create Consumer Key and Consumer Secret</p></figcaption></figure>

#### Step 2: add the integration in Aissist

1. Go to **Workspace → Integrations**.
2. Click **Add Integration**.
3. Choose **WooCommerce**.
4. Enter:
   * a name for the integration
   * the WooCommerce API URL
   * the Consumer Key
   * the Consumer Secret

Example:

* Name: My WooCommerce Store
* API URL: `https://yourstore.com/wp-json/wc/v3`
* Consumer Key: paste your key
* Consumer Secret: paste your secret

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FLY8eISFwuq4T2S3JSHHE%2FScreenshot%202025-04-26%20at%2012.51.10%20PM.png?alt=media&amp;token=2714f4ab-aa83-47bb-8588-2bcccf13bf33" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Default actions</summary>

The WooCommerce integration includes default actions for common workflows.

Use them when the built-in WooCommerce methods already match your workflow.

You can choose whether each action runs:

* at the start of a session
* during an interaction
* in both places

Each default action includes predefined descriptions and parameters.

Create custom actions only when you need store-specific logic.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FwDDPpoGHxFz2LXOUe4q6%2FScreenshot%202025-04-26%20at%2012.54.00%20PM.png?alt=media&amp;token=0a726680-18ca-4480-8f18-04ec700bf534" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Custom actions</summary>

You can also create custom WooCommerce actions.

If you do, turn off overlapping default actions to avoid conflicts.

#### Create a custom action

1. Select the integration then go to **Actions**.
2. Click **Add Action**.
3. Choose a method.
4. Give the action a clear name and description.

Available methods include:

* `getOrder`
* `getCustomer`
* `getCustomerOrders`
* `getCustomerSubscription`
* `cancelOrder`
* `updateOrderAddress`

#### Configure the action

You can:

* choose whether it runs inbound, outbound
* customize parameters for your store logic

Use parameter descriptions that match your store rules.

Example store-specific guidance:

> order\_id: order IDs start with an `E` followed by 8 digits
>
> subscription\_status: use values like `active`, `on-hold`, or `cancelled`

You can also add instructions for how Aissist should summarize large action responses.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2Fjvlr5WXyrlHPRC1cTqvK%2Fscreencapture-console-aissist-io-workspace-actions-4e696014-c68d-41cf-8ce7-fa9857365e36-2025-04-26-13_00_07.png?alt=media&amp;token=0754eb19-e95c-4916-ae80-f3feccf3ff7d" alt=""><figcaption><p>WooCommerce integration</p></figcaption></figure>

</details>

### Next step

After setup, test your WooCommerce actions in [Action Debugger](/integrations/action-debugger).


# Adobe Commerce (Magento 2)

*Last updated: May 15, 2026*

Connect Adobe Commerce to let Aissist read store data and run commerce actions.

Adobe Commerce is the integration.

Actions use Adobe Commerce during conversations.

With Adobe Commerce, Aissist can work with:

* customers and orders
* invoices, shipments, and returns
* products and inventory
* actions like password reset, address updates, and order cancellation

<details>

<summary>Create the Adobe Commerce integration</summary>

#### Step 1: create an access token

Follow Adobe’s guide for [integration tokens](https://developer.adobe.com/commerce/webapi/get-started/authentication/gs-authentication-token/#integration-tokens).

Allow at least these scopes:

* **Read Store**
* **Read Customer**
* **Read Invoices**
* **Read Orders**
* **Read Returns**
* **Read Shipments**
* **Read Credit Memos**
* **Write Orders**

Optional scopes:

* **Read Integration**
* **Read Inventory**
* **Read Product**

{% hint style="warning" %}
Enable **Allow OAuth Access Tokens to be used as standalone Bearer tokens** under **Stores → Configuration → Services → OAuth → Consumer Settings**.
{% endhint %}

#### Step 2: add the integration in Aissist

1. Go to **Workspace → Integrations**.
2. Click **Add Integration**.
3. Choose **Adobe Commerce**.
4. Enter:
   * a name for the integration
   * the Adobe Commerce store URL
   * the store code
   * the access token

Example:

* Name: My Magento Store
* Store URL: `https://yourstore.com`
* Store Code: `default`
* Access Token: paste your token

{% hint style="info" %}
The default store code is usually `default` unless your setup uses a custom value.
{% endhint %}

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FTCDJFQbtWaeWkLvs2Jj3%2FScreenshot%202025-04-26%20at%202.37.45%20PM.png?alt=media&amp;token=fba95010-034d-471a-88cc-048c910f05ec" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Default actions</summary>

The Adobe Commerce integration includes default actions for common workflows.

Use them when the built-in Adobe Commerce methods already match your workflow.

You can choose whether each action runs:

* at the start of a session
* during an interaction
* in both places

Each default action includes predefined descriptions and parameters.

Create custom actions only when you need store-specific logic.

</details>

<details>

<summary>Custom actions</summary>

You can also create custom Adobe Commerce actions.

If you do, turn off overlapping default actions to avoid conflicts.

#### Create a custom action

1. Select the integration then go to **Actions**.
2. Click **Add Action**.
3. Choose a method.
4. Give the action a clear name and description.

Available methods include:

* `getOrder`
* `getCustomer`
* `getCustomerOrders`
* `getInvoice`
* `resetPassword`
* `cancelOrder`
* `updateOrderAddress`

#### Configure the action

You can:

* choose whether it runs inbound or outbound
* customize parameters for your store logic

Use parameter descriptions that match your store rules.

Example store-specific guidance:

> order\_id: order IDs start with an `E` followed by 8 digits
>
> store\_code: use the Adobe Commerce store code, such as `default`

You can also add instructions for how Aissist should summarize large action responses.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FJCrem0UwduIVYI5Cald7%2Fscreencapture-console-aissist-io-workspace-actions-8b865f4a-cb01-4271-b46f-91089dcb397b-2025-04-26-14_44_33.png?alt=media&amp;token=69769d40-261d-4a95-ac84-d23d688231a5" alt=""><figcaption></figcaption></figure>

</details>

### Next step

After setup, test your Adobe Commerce actions in [Action Debugger](/integrations/action-debugger).


# ShipStation

*Last updated: May 15, 2026*

Connect ShipStation to let Aissist track shipments and delivery status.

ShipStation is the integration.

Actions use ShipStation during conversations.

With ShipStation, Aissist can work with:

* shipment tracking
* delivery events
* carrier status updates
* order-level shipping information

<details>

<summary>Create the ShipStation integration</summary>

#### Step 1: create an API key

1. Log in to ShipStation.
2. Go to **Settings → API Settings**.
3. Select **V2 API**.
4. Click **Generate API Key**.
5. Copy the API key.

{% hint style="warning" %}
Store the API key securely. You may not be able to view it again later.
{% endhint %}

See [ShipStation API key docs](https://docs.shipstation.com/authentication#api-keys) for more detail.

#### Step 2: add the integration in Aissist

1. Go to **Workspace → Integrations**.
2. Click **Add Integration**.
3. Choose **ShipStation**.
4. Enter:
   * a name for the integration
   * the ShipStation API key
   * the timeout value
5. Click **Test** to confirm the connection.

Example:

* **Name**: Aissist ShipStation
* **API Key**: your ShipStation API key
* **Timeout**: `30`

</details>

<details>

<summary>Default action</summary>

The ShipStation integration includes one default action:

#### `trackOrder`

Use it to track a shipment by order ID.

Use it for most shipment tracking workflows.

The integration returns structured tracking data such as:

* tracking number
* tracking URL
* current status
* carrier status details
* shipment and delivery dates
* event history

```json
{
  "shipstation": {
    "order_id": "12345",
    "tracking": {
      "tracking_number": "1Z999AA1234567890",
      "tracking_url": "https://tools.usps.com/go/TrackConfirmAction.action?tLabels=1Z999AA1234567890",
      "status_description": "Delivered",
      "carrier_status_description": "Your item was delivered in or at the mailbox at 11:40 am on September 25, 2025 in GREENWOOD, SC 29646.",
      "ship_date": "2025-09-23T02:07:00Z",
      "actual_delivery_date": "2025-09-25T15:40:00Z"
    }
  }
}
```

</details>

<details>

<summary>Custom action settings</summary>

You can customize the `trackOrder` action for your workflow.

1. Select the integration then go to **Actions**.
2. Click **Add Action**.
3. Choose the `trackOrder` method.
4. Give the action a clear name and description.

You can choose whether it runs:

* at the start of a session
* during an interaction
* in both places

You can also set the trigger direction:

* **Inbound**
* **Outbound**

#### Parameter guidance

Link `trackOrder` to an `order_tracking` sub agent when you want tracking only for shipping-related conversations.

**Order ID**

* **Default description**: Order ID, such as a Shopify, WooCommerce, or Adobe Commerce order ID
* **Example description**: Track order by Shopify order ID, format: `SHOPIFY-123456789`

You can also add instructions for how Aissist should present tracking information.

Example:

```
Summarize the tracking status and highlight key events.
Include the current status, estimated delivery date, and carrier information.
If the package is delayed or has exceptions, explain the situation and suggest next steps.
```

</details>

### Next step

After setup, test your ShipStation action in [Action Debugger](/integrations/action-debugger).


# ParcelPanel

*Last updated: May 15, 2026*

Connect ParcelPanel to let Aissist track shipments and surface shipping warnings.

ParcelPanel is the integration.

Actions use ParcelPanel during conversations.

With ParcelPanel, Aissist can work with:

* order-level tracking
* carrier details
* delivery checkpoints
* warnings for stale or slow shipments

<details>

<summary>Create the ParcelPanel integration</summary>

#### Step 1: get the API key

1. Log in to ParcelPanel.
2. Go to **Integration** or **Integrations**.
3. Find the **API Key** section.
4. Copy the API key.

{% hint style="warning" %}
Store the API key securely and do not share it publicly.
{% endhint %}

The exact menu labels may vary slightly by ParcelPanel account type.

#### Step 2: add the integration in Aissist

1. Go to **Workspace → Integrations**.
2. Click **Add Integration**.
3. Choose **ParcelPanel**.
4. Enter:
   * a name for the integration
   * the ParcelPanel API key
5. Click **Test** to confirm the connection.

Example:

* **Name**: Aissist ParcelPanel
* **API Key**: your ParcelPanel API key

You can use any order number for testing, or leave the field empty to use the default test order.

</details>

<details>

<summary>Default action</summary>

The ParcelPanel integration includes one default action:

#### `trackOrder`

Use it to track a shipment by order number.

Use it for most shipment tracking workflows.

#### Built-in warnings

The integration automatically provides warnings for:

* **Stale shipments** — when no tracking updates have been received for a set number of days
* **Long shipping times** — when delivery time exceeds the expected threshold

The integration returns structured data including:

```json
{
  "parcelpanel": {
    "order_number": "5****",
    "tracking": {
      "order": {
        "order_id": 1187*******,
        "order_number": "#5****",
        "store": {
          "name": "test",
          "url": "https://www.test.com"
        },
        "customer": {
          "name": "Test",
          "email": "test@gmail.com"
        },
        "shipments": [
          {
            "status": "IN_TRANSIT",
            "status_label": "In transit",
            "tracking_number": "4PX**********CN",
            "carrier": {
              "name": "4PX",
              "code": "4px",
              "contact": "0755-23508000"
            },
            "checkpoints": [
              {
                "detail": "With yodel awaiting sortation",
                "status": "IN_TRANSIT",
                "checkpoint_time": "2025-10-06T12:19:00"
              }
            ]
          }
        ]
      },
      "warnings": [
        "⚠️ No tracking update for 6 days - shipment may be stuck",
        "⚠️ Shipping time is 35 days - longer than expected"
      ]
    }
  }
}
```

</details>

<details>

<summary>Custom action settings</summary>

You can customize the `trackOrder` action for your workflow.

1. Select the integration then go to **Actions**.
2. Click **Add Action**.
3. Choose the `trackOrder` method.
4. Give the action a clear name and description.

You can choose whether it runs:

* at the start of a session
* during an interaction
* in both places

You can also set the trigger direction:

* **Inbound**
* **Outbound**

#### Parameter guidance

You can customize the parameter description based on your business needs:

Link `trackOrder` to an `order_tracking` sub agent when you want tracking checks only for shipping-related conversations.

**order\_number**

* **Default description**: order number, such as a Shopify order number
* **Example description**: order number from Shopify, format: `ORDER-12345`

**stale\_days\_threshold**

* **Default description**: days since the last update to trigger a stale shipment warning
* **Use case**: alert when shipments have not been updated for a long time
* **Example description**: alert if no tracking update for `7` days

**max\_shipping\_days**

* **Default description**: maximum expected shipping days before a long shipping warning
* **Use case**: alert when shipments take longer than expected
* **Example description**: alert if shipping exceeds `21` days

You can also add instructions for how Aissist should present tracking information.

Example:

```
Summarize the tracking status and highlight any warnings. 
Include the current location, expected delivery date, and carrier information.
If warnings are present, explain what they mean and suggest next steps.
```

</details>

### Next step

After setup, test your ParcelPanel action in [Action Debugger](/integrations/action-debugger).


# RESTful API

*Last updated: May 15, 2026*

Connect Aissist to your own API endpoints.

Use this integration when you want Aissist to read live data or trigger actions in your internal systems.

RESTful API is the integration.

Actions use your API during conversations.

Common use cases include:

* order lookup
* booking retrieval
* inventory checks
* refunds or account updates

<details>

<summary>Create the integration</summary>

1. Prepare your API URL and authentication details.
2. Go to **Workspace → Integrations**.
3. Click **Add Integration**.
4. Choose **RESTful API**.
5. Enter:
   * the API URL
   * authentication details, if required
   * optional headers, if your API needs them

If your API sits behind AWS API Gateway, make sure the required authentication headers are included.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FqpWCatbJ8PGXqOZf3IMD%2FScreenshot%202025-04-26%20at%208.52.55%20PM.png?alt=media&amp;token=71c00637-1f2e-448b-a33d-94a909bf28c4" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Create actions from the API</summary>

After the integration is connected, create actions that call specific endpoints.

1. Go to **Workspace → Action**.
2. Click **Add Action**.
3. Select the **Restful API** integration.
4. Configure:
   * the method
   * a clear action name
   * a clear action description
   * the endpoint URL
   * the request parameters
   * whether the action runs inbound, outbound, or both
   * any linked sub agents

Use clear names and parameter descriptions so Aissist knows when to trigger the action and how to fill values correctly.

Link actions to sub agents when the endpoint supports a specific workflow, such as order tracking, booking lookup, or refund status.

If the response is large, add instructions for how Aissist should summarize it for the user.

</details>

<details>

<summary>Example action patterns</summary>

Examples:

* **Order Tracking** — pull shipping status from a logistics API
* **Booking Lookup** — retrieve appointment details from a booking system
* **Inventory Check** — fetch real-time stock levels from a warehouse system
* **Refund Status** — query refund details from a payment platform

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FJOngDyQafPqtdjIvWeco%2Fscreencapture-console-aissist-io-workspace-actions-fd4bc512-d6a9-4af2-89e9-08a62077c5d3-2025-04-26-22_58_32.png?alt=media&amp;token=25fd99ed-e802-4d70-a2b1-793389777231" alt=""><figcaption></figcaption></figure>

</details>

### Next step

After setup, test the action flow in [Action Debugger](/integrations/action-debugger).

If you want a more controlled way to expose internal systems, see [AWS Lambda](/integrations/aws-lambda).


# AWS Lambda

*Last updated: May 15, 2026*

Use AWS Lambda when you want Aissist to access internal systems through a controlled API layer.

This works well when you do not want to expose your database or backend systems directly.

With Lambda, you can:

* control exactly what data Aissist can read
* filter or transform the returned data
* expose only the fields and actions you want

### How the pattern works

1. Build a small Lambda function for the data or action you want to expose.
2. Publish it through a Function URL or API Gateway.
3. Connect that endpoint through the [RESTful API](/integrations/restful-api) integration.
4. Create actions that call the endpoint.

### Example flow

<details>

<summary>Step 1: write the Lambda function</summary>

Create a small function that returns only the data Aissist needs.

This example fetches booking details by booking ID:

```python
import mysql.connector

def lambda_handler(event, context):
    secrets = dict()
    with open("secrets.json") as input_fp:
        secrets = json.load(input_fp)
    
    database = mysql.connector.connect(
        host=secrets["host"],
        database=secrets["database"],
        user=secrets["user"],
        password=secrets["password"]
    )

    query = """ SELECT * FROM cr_booking WHERE id = %s """
    cursor = database.cursor()
    cursor.execute(query, (json.loads(event['body'])["booking_id"],))
    
    column_names = [col[0] for col in cursor.description]
    bookings = [dict(zip(column_names, row)) for row in cursor.fetchall()]
    
    return {"book_details": bookings}
```

</details>

<details>

<summary>Step 2: package the function</summary>

Package the function, dependencies, and any required configuration into a zip file.

1. Install the MySQL connector package:

   ```bash
   pip3 install --target ./packages mysql-connector
   ```
2. Create the deployment package:

   ```bash
   cd ./packages
   zip -r ../deployment_package.zip .
   cd ..
   zip deployment_package.zip lambda_function.py
   zip deployment_package.zip secrets.json
   ```

</details>

<details>

<summary>Step 3: create the Lambda function in AWS</summary>

1. Go to the **AWS Lambda Console**.
2. Create a new **Lambda function**.
3. Enable a **Function URL** for a simple setup, or use **API Gateway** for stricter control.
4. Upload your `deployment_package.zip`.
5. Copy the public endpoint URL.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FCMAM1EIOPnGymgA5ITqG%2Flambda_setup.png?alt=media&amp;token=7b121cd5-094b-4040-beb8-7f7ffba8936d" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Step 4: connect Lambda to Aissist</summary>

Add the endpoint through the [RESTful API](/integrations/restful-api) integration.

Then create actions that call that endpoint.

Use the Lambda Function URL or API Gateway URL as the API endpoint.

</details>

### Why use AWS Lambda

AWS Lambda is useful because it is:

* **Secure** — expose only the data and operations you allow
* **Scalable** — no server management required
* **Cost-efficient** — pay only when it runs
* **Flexible** — shape the response for Aissist before it returns

### Best practice

Keep each Lambda endpoint focused on one job.

Return only the fields Aissist needs, then test the action in [Action Debugger](/integrations/action-debugger).


# Action Debugger

*Last updated: May 15, 2026*

Use the Action Debugger to test whether actions trigger correctly and return the right data.

It helps you inspect the full action flow before you use it in live conversations.

Use **Action Debugger** to test action trigger logic and API output.

Use [Simulator](/tutorial/simulator) to test the full conversation flow around those actions.

### Open the Action Debugger

1. Go to **Workspace → Integrations**.
2. Click **Debug**.

### What to test

Enter a message that should trigger an action.

Use realistic examples from your workflow, such as:

* checking order status
* finding a customer record
* looking up shipment details
* canceling an order

### What to inspect

The Action Debugger shows:

* which action triggered
* the API endpoint that was called
* the parameters sent
* the response returned by the API

In the example below, Aissist first calls `getCustomerOrders`, then calls `getTrackingDetails`.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FbzTl3DM23qsW4qI1zVl8%2Fscreencapture-console-aissist-io-workspace-actions-debug-2025-04-26-23_16_55.png?alt=media&amp;token=ce4b29be-641f-4b4c-bc67-2837a8f683ab" alt=""><figcaption><p>Example Action Debugger view</p></figcaption></figure>

### Fix common issues

If the action does not trigger:

* review the action trigger scenario
* make sure the action name and description match the intended use case
* make sure the action is linked to the right sub agent, if applicable
* make sure the test input matches the expected trigger pattern

If the parameters are wrong:

* improve the parameter names
* improve the parameter descriptions
* add clearer guidance about expected values
* include exact formats, examples, or allowed values when needed

If the response is hard to use:

* update the action instructions
* define summarization in **Response Processing** to summarize the response
* refine any **Response Processing** instructions
* return only the fields Aissist needs when possible

### When to use it

Use the Action Debugger whenever you:

* create a new action
* update an existing action
* change an integration
* troubleshoot unexpected action behavior

### Best practice

Test each action with multiple realistic inputs.

Verify both the trigger and the returned data before you move into live workflows.

Once the action works here, test the full workflow in [Simulator](/tutorial/simulator).


# Gateways

*Last updated: May 6, 2026*

Connect Aissist to your support and messaging platforms.

Use gateways to deploy Aissist into the platforms your team already uses.

### What gateways do

Gateways help Aissist:

* Receive conversations from agent platforms.
* Decide where Aissist should run.
* Setup human handoff.

### Before you choose a gateway

Choose the platform where your team already manages conversations.

Start with one inbox, team, group, or queue.

{% hint style="info" %}
Each gateway works through a platform-specific routing point, such as an inbox, team, group, queue, channel, or tag.
{% endhint %}

{% hint style="info" %}
Some platform authorizations may expire after a period of inactivity. Reconnect the gateway if needed.
{% endhint %}

### Available gateways

Choose a platform to set up a gateway:

{% content-ref url="/pages/xoSQv9KxysOMwnUmWWlr" %}
[Front](/gateways/front)
{% endcontent-ref %}

{% content-ref url="/pages/I67v3lAerbQU8uWls9Ge" %}
[Gorgias](/gateways/gorgias)
{% endcontent-ref %}

{% content-ref url="/pages/mfaEWUqnPscHtNAzg5oS" %}
[Intercom](/gateways/intercom)
{% endcontent-ref %}

{% content-ref url="/pages/zN2tmADp27HwHhdHLvZg" %}
[Zendesk](/gateways/zendesk)
{% endcontent-ref %}

{% content-ref url="/pages/tua4wPMYJzMZ52IjY7sn" %}
[HubSpot](/gateways/hubspot)
{% endcontent-ref %}

{% content-ref url="/pages/vcfwyw4hmJTKHnULWqOv" %}
[Salesforce](/gateways/salesforce)
{% endcontent-ref %}

{% content-ref url="/pages/zMoBRI1YdJkrY84oZnKK" %}
[Kustomer](/gateways/kustomer)
{% endcontent-ref %}

### Next step

Use [Deploy Gateway](/tutorial/deploy-gateway) to configure routing, handoff, and rollout.

Use **Auto-Pilot** for automatic replies.

Enable **Co-Pilot** for in-note command.

Gateway capabilities vary by platform.


# Front

*Last updated: May 6, 2026*

Connect Front to let Aissist work inside shared inbox workflows.

With Front, Aissist can:

* draft or send replies
* apply tags
* create summaries
* detect when human follow-up is needed

### Create the Front gateway

1. Go to **Deploy → Gateways**.
2. Click **Add Gateway**.
3. Choose **Front**.
4. Follow the setup steps to authorize the connection.

### How Front routing works

Front gateways use **inboxes** as the managing point.

This lets you control exactly which inboxes Aissist should handle.

{% hint style="info" %}
Start with one shared inbox or one narrow workflow before expanding to broader coverage.
{% endhint %}

See [Deploy Gateway](/tutorial/deploy-gateway) for managing point setup.

### Choose the operating mode

During setup, choose the operating mode:

* **Auto-Pilot** — Aissist replies automatically
* **Co-Pilot** — available in Front for on-demand help inside the agent UI

Start with one narrow workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.

### How Aissist works in Front

Aissist can support the Front workflow in several ways.

#### Reply

Aissist generates context-aware replies using your instructions, assets, and actions.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FugFyRDiwHxQ5WM7UcgUA%2FScreenshot%202025-04-25%20at%209.25.04%20PM.png?alt=media&amp;token=f4bc8f26-8ef3-45cb-8077-ef7065a92e65" alt=""><figcaption></figcaption></figure>

#### Tag

Aissist can apply tags automatically to organize conversations and trigger routing rules.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FBJIRIDMkP2DQXmynhhUJ%2FFrontapp-tag.png?alt=media&amp;token=29bddf24-6813-4dda-886d-40959812318f" alt=""><figcaption></figcaption></figure>

#### Summary and handoff

Aissist can summarize the conversation and detect when a human should take over.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FfmzPRmb14eAIGqLiHyxQ%2FFrontapp-human.png?alt=media&amp;token=07dd7046-b8ce-4e97-a1ff-2fdd25d13a9d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FagVxKkcFqjmaeX0VF8Hr%2FFrontapp-summary.png?alt=media&amp;token=1d3de9a4-b6c0-4d74-8800-5759c0be43f4" alt=""><figcaption></figcaption></figure>

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2Fi2xasSZcGmsEOasnVuou%2FFrontapp_co-pilot.png?alt=media&amp;token=9c0f6407-aeb2-420c-9296-3bf6075b7dca" alt=""><figcaption></figcaption></figure>

### Co-Pilot in Front

Co-Pilot is installed automatically when you create the Front gateway.

If you do not see it:

1. Open any conversation in Front.
2. Click **Manage** in the right panel.
3. Pin the **Aissist** plugin.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2F1w09FuhtwsXXGE3xdLaN%2FScreenshot%202025-04-25%20at%209.25.21%20PM.png?alt=media&amp;token=7379e8dc-1693-4e24-b506-4b042ec13760" alt=""><figcaption></figcaption></figure>

### Best practice

Start with one inbox and one repeatable workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.


# Gorgias

*Last updated: Jun 2, 2026*

Connect Gorgias to let Aissist work inside team-based ticket workflows.

With Gorgias, Aissist can:

* send replies
* apply tags
* create summaries
* detect when human follow-up is needed

### Create the Gorgias gateway

1. Go to **Deploy → Gateways**.
2. Click **Add Gateway**.
3. Choose **Gorgias**.
4. Follow the setup steps to authorize the connection.

### How Gorgias routing works

Gorgias gateways use **Teams** as the managing point.

To let Aissist process a ticket, make sure the ticket is assigned to the correct team.

{% hint style="info" %}
Start with one team or one narrow workflow before expanding coverage.
{% endhint %}

See [Deploy Gateway](/tutorial/deploy-gateway) for managing point setup.

### Choose the operating mode

During setup, choose the operating mode:

* **Auto-Pilot** — Aissist replies automatically
* **Co-Pilot** — available in Gorgias for on-demand help inside the agent UI

Start with one narrow workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.

### How Aissist works in Gorgias

Aissist can support the Gorgias workflow in several ways.

#### Reply and tag

Aissist can reply automatically and apply tags inside the selected workflow.

This helps your team organize tickets and trigger routing rules.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FlGc5F0cy3tk0TuUIbvcF%2FLWScreenShot%202026-06-01%20at%2011.03.42%E2%80%AFPM.png?alt=media&amp;token=8a321b76-9dd0-4c3f-aaae-818b23010020" alt=""><figcaption></figcaption></figure>

#### Summary and handoff

Aissist can summarize the conversation and detect when a human should take over.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FpCRJgfZCj4wRqMNWNZop%2FLWScreenShot%202026-06-01%20at%2011.56.54%E2%80%AFPM.png?alt=media&amp;token=b7f227b2-dc82-4a54-9825-45b16ff53441" alt=""><figcaption></figcaption></figure>

### Co-Pilot in Gorgias

To use Co-Pilot with in-note commands:

1. Create an [in-note command](/tutorial/in-note-command) in **Deploy → Tools → In-Note Command**.
2. Open the Gorgias gateway.
3. Enable **Enable Co-Pilot with this Gateway**.
4. Add an internal note with the command ID to run the command in the ticket.

You can use in-note commands to:

* analyze a conversation
* fill ticket attributes
* evaluate agent performance

This works well for QA review, structured wrap-up, and attribute updates inside Gorgias.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FuANaf0lWFSalq7f8ijqU%2FScreenshot%202026-06-05%20at%203.32.42%E2%80%AFPM.png?alt=media&amp;token=a03da80a-4ce6-43c7-9dcb-461c63875e89" alt=""><figcaption></figcaption></figure>

### Best practice

Start with one team and one repeatable workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.


# Intercom

*Last updated: May 6, 2026*

Connect Intercom to let Aissist work inside your inboxes and tagged workflows.

With Intercom, Aissist can:

* draft or send replies
* apply tags
* create summaries
* detect when human follow-up is needed

### Create the Intercom gateway

1. Go to **Deploy → Gateways**.
2. Click **Add Gateway**.
3. Choose **Intercom**.
4. Follow the setup steps to authorize the connection.

### How Intercom routing works

Intercom gateways uses **team** **inboxes** as managing points.

This lets you control which conversations Aissist should handle.

{% hint style="info" %}
Use a narrow inbox to keep the workflow focused.
{% endhint %}

See [Deploy Gateway](/tutorial/deploy-gateway) for managing point setup.

### Choose the operating mode

During setup, choose the operating mode:

* **Auto-Pilot** — Aissist replies automatically

Start with one narrow workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.

### How Aissist works in Intercom

Aissist can support the Intercom workflow in several ways.

#### Reply and tag

Aissist generates context-aware replies and applies tags inside the selected workflow.

This helps your team organize conversations and trigger follow-up rules.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2F5yii47Jm3E86W7hCY0Kz%2FScreenshot%202026-06-05%20at%204.50.11%E2%80%AFPM.png?alt=media&amp;token=b5c1c9ef-86c8-4184-9e05-d0f3c5ee9f25" alt="" width="375"><figcaption></figcaption></figure>

#### Summary and handoff

Aissist can summarize the conversation and detect when a human should take over.

This helps your team review the thread and pick up the right next step.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FZoB0dvRx5CCo6dNxeNQG%2FScreenshot%202026-06-05%20at%204.54.14%E2%80%AFPM.png?alt=media&amp;token=ea142129-7da5-4c34-87bb-347bf893ec5f" alt="" width="375"><figcaption></figcaption></figure>

### Co-Pilot in Intercom

To use Co-Pilot with in-note commands:

1. Create an [in-note command](/tutorial/in-note-command) in **Deploy → Tools → In-Note Command**.
2. Open the Intercom gateway.
3. Enable **Enable Co-Pilot with this Gateway**.
4. Add an internal note with the command ID to run the command in the ticket.

You can use in-note commands to:

* analyze a conversation
* fill ticket attributes
* evaluate agent performance

This works well for QA review, structured wrap-up, and attribute updates inside Intercom.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FyzHgXxPYuRxC8xAvo2eM%2FScreenshot%202026-06-05%20at%204.56.33%E2%80%AFPM.png?alt=media&amp;token=c0ba5d6c-4e8c-4669-b3f2-6d739caf1d8f" alt="" width="375"><figcaption></figcaption></figure>

### Best practice

Start with one team inbox.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.


# Zendesk

*Last updated: May 6, 2026*

Connect Zendesk to let Aissist work on tagged tickets and conversations.

With Zendesk, Aissist can:

* draft or send replies
* add tags
* create summaries
* detect when human follow-up is needed

### Create the Zendesk gateway

1. Go to **Deploy → Gateways**.
2. Click **Add Gateway**.
3. Choose **Zendesk**.
4. Follow the setup steps to authorize the connection.

### How Zendesk routing works

Zendesk gateways use **Groups** as the managing point.

To let Aissist process a ticket, make sure the ticket is assigned to the correct group.

See [Deploy Gateway](/tutorial/deploy-gateway) for managing point setup.

### Choose the operating mode

During setup, choose the operating mode:

* **Auto-Pilot** — Aissist replies automatically

Start with one narrow workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.

### How Aissist works in Zendesk

Aissist can support the Zendesk workflow in several ways.

#### Reply and tag

Aissist generates context-aware replies and applies relevant tags.

This helps your team organize tickets and automate follow-up rules.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FXlgiIQUhuWxxlPihkRY4%2FScreenshot%202026-05-19%20at%2010.38.54%E2%80%AFPM.png?alt=media&amp;token=c47f3d27-e605-4089-a7a5-1488da27ae84" alt=""><figcaption></figcaption></figure>

#### Summary and handoff

Aissist can summarize the conversation and detect when human help is needed.

This helps your team pick up the ticket with the right context.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FPfDqHtPQLTnTl0WYEW3d%2FScreenshot%202026-05-23%20at%2010.42.33%20AM.png?alt=media&amp;token=df814bdf-049b-4000-9a4e-8c8c2b614000" alt=""><figcaption></figcaption></figure>

### Best practice

Start with one tagged workflow, such as a specific queue or ticket type.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.


# Zendesk Conversation (messaging)

*Last updated: May 5, 2026*

Use this setup for Zendesk messaging channels such as web chat, WhatsApp, SMS, and social messaging.

### Create the connection

From the Aissist Zendesk gateway, sign in to Zendesk Conversation and complete the connection flow.

Then click **Set up the integrations** to let Aissist configure the connection automatically.

If that step fails, use the manual setup below.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FC5iPNpTChqe4HpACMHDn%2FScreenshot%202026-05-26%20at%2010.49.50%20PM.png?alt=media&amp;token=7fa40939-b629-4040-8951-9ae214d48834" alt=""><figcaption></figcaption></figure>

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FUKOsrIjB9QVq3k4KirQD%2FScreenshot%202026-05-26%20at%2010.51.08%20PM.png?alt=media&amp;token=ba65291a-bd91-4054-b4d8-1cba3fdb4268" alt=""><figcaption></figcaption></figure>

### Create a Conversation API key

1. Follow Zendesk's guide for [Conversation API keys](https://support.zendesk.com/hc/en-us/articles/4576088682266-Using-the-Conversations-API-keys).
2. Create the key, ID, and secret.
3. Enter those values in the gateway configuration.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2Fo4kHOn5AjoOvJTfe2yQQ%2FScreenshot%202026-05-26%20at%2010.52.55%20PM.png?alt=media&amp;token=08796dd3-c822-4f84-9ddb-0117c7eaaa0d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FdtlMi3Mg64dYCb0hs1Am%2FScreenshot%20from%202026-01-09%2020-03-18.png?alt=media&amp;token=303d76dd-518f-42f0-aa2b-9be57f009276" alt=""><figcaption></figcaption></figure>

The gateway uses this key to create the integration and webhook for Zendesk Conversation.

{% hint style="info" %}
If needed, you can create the integration manually instead.
{% endhint %}

### Create the integration manually

1. In Zendesk, go to **Admin Center → Apps and Integrations → Integrations → Conversations Integrations**.
2. Click **Create Integration**.
3. Use these values:
   * **Name**: `Aissistant_Conversation_Integration`
   * **Webhook endpoint URL**: `https://gateway.aissist.io/gateway/zendesk/conversation`
   * **Include full user**: enabled
   * **Include full source**: enabled
   * **Webhook subscriptions**: enable **Conversation created** and **Conversation message**

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FvdnPczQukjweBsHv3A14%2FScreenshot%202024-08-26%20at%209.58.03%20PM.png?alt=media&amp;token=a9d8fb3c-77da-4cca-903f-5d40ad3417e5" alt="" width="563"><figcaption><p>Example Zendesk Conversation integration</p></figcaption></figure>

### Configure agent identity

Set:

* the agent name that appears in chat
* the avatar URL for that agent

### Should Aissist be the channel bot?

{% hint style="info" %}
We do not recommend setting Aissist as the default bot for channels. Aissist works best as a backend agent that behaves more like a human teammate than a traditional bot.
{% endhint %}

If you still want to assign Aissist as the AI agent for a specific channel, go to the Zendesk admin area under **AI → AI agents**.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2F2AbxKC3rshgdLgeDkCNj%2FScreenshot%20from%202026-01-02%2020-14-23.png?alt=media&amp;token=69b30bbd-9612-46e0-9984-a52b6d294f3b" alt="" width="524"><figcaption></figcaption></figure>

### Troubleshoot avatar display

If the avatar does not appear correctly in Zendesk Chat:

* use a direct image URL that ends in `.jpg`, `.png`, or another image extension
* make sure the image is publicly accessible
* avoid links that point to a web page instead of the image file

For Google Drive images, convert the share link into a direct image link:

```
https://drive.google.com/uc?export=view&id=FILE_ID
```

If it still does not appear, try refreshing the page, clearing cache, or using a different public image host.

### Need help?

If setup fails, contact support and include the step that failed and any Zendesk error message.


# HubSpot

*Last updated: May 6, 2026*

Connect HubSpot to let Aissist work inside inbox-based conversation workflows.

With HubSpot, Aissist can:

* draft or send replies
* apply tags
* create summaries
* detect when human follow-up is needed

### Create the HubSpot gateway

1. Go to **Deploy → Gateways**.
2. Click **Add Gateway**.
3. Choose **HubSpot**.
4. Follow the setup steps to authorize the connection.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2Fz9oVodG2D2UCpLOtSvMY%2Fscreencapture-console-aissist-io-deploy-gateways-ac4bed57-4308-4a47-a84f-59f12036b3be-2025-04-27-12_43_50.png?alt=media&amp;token=9c130155-49e0-46e1-8037-39243c3a7d53" alt=""><figcaption></figcaption></figure>

### How HubSpot routing works

HubSpot gateways use **inboxes** as the managing point.

This lets you control which inboxes Aissist should handle.

{% hint style="info" %}
Start with one inbox or one narrow workflow before expanding to broader coverage.
{% endhint %}

See [Deploy Gateway](/tutorial/deploy-gateway) for managing point setup.

### Choose the operating mode

During setup, choose the operating mode:

* **Auto-Pilot** — Aissist replies automatically

Start with one narrow workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.

### How Aissist works in HubSpot

Aissist can support the HubSpot workflow in several ways.

#### Reply

Aissist generates context-aware replies using your instructions, assets, and actions.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FJKQw1vxFpvSHR9Sg0MWp%2FHubspot-response.png?alt=media&amp;token=ff49f297-7759-4043-89cb-1f57a2623657" alt=""><figcaption></figcaption></figure>

#### Tag

Aissist can apply tags automatically to help categorize conversations and trigger follow-up rules.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FZiz5JWyk8JWho9I3pzZJ%2FHubspot-tag.png?alt=media&amp;token=d120b6d3-a4f2-4600-a464-5c3ba02d766a" alt=""><figcaption></figcaption></figure>

#### Summary and handoff

Aissist can summarize the conversation and detect when a human should take over.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FMLSSQhecGuHIAC2gzuJj%2FHubspot-summary.png?alt=media&amp;token=41c30d4e-0cca-440f-91fa-89d6df71a320" alt=""><figcaption></figcaption></figure>

### Best practice

Start with one inbox and one repeatable workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.


# Freshdesk Omni

*Last updated: June 11, 2026*

Connect Freshdesk to let Aissist work inside ticket workflows.

With Freshdesk, Aissist can:

* draft or send replies
* apply tags
* create summaries
* detect when human follow-up is needed

### Before you start

Make sure you have:

* Freshdesk admin access
* your Freshdesk domain
* your Freshdesk API key from **Profile Settings → API**

### Create the Freshdesk gateway

1. Go to **Deploy → Gateways**.
2. Click **Add Gateway**.
3. Choose **Freshdesk**.
4. Name the gateway.

#### Connect to Freshdesk

Enter:

* **Domain Name** — your Freshdesk domain without protocol
* **API Key** — your Freshdesk API key

Then click **Connect to your Freshdesk**.

This connection:

* validates your credentials
* loads account details
* creates or updates Freshdesk automation rules
* loads the available agent list

### Configure routing

Freshdesk gateways use **groups** as the managing point.

Assign tickets to the selected group to let Aissist process them.

See [Deploy Gateway](/tutorial/deploy-gateway) for managing point setup.

### Select the actor

Go to **Agent Setting** and choose the Freshdesk agent identity that Aissist should act as.

### Save the gateway

Before saving, make sure:

* the gateway name is set
* automation rules were created
* a managing group is selected
* an actor is selected

### Choose the operating mode

During setup, choose the operating mode:

* **Auto-Pilot** — Aissist replies automatically
* **Co-Pilot** — enables [in-note command](/tutorial/in-note-command)

Start with one narrow workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.

### How Aissist works in Freshdesk

Aissist can support the Freshdesk workflow in several ways.

#### Reply and tag

Aissist can reply automatically inside the selected workflow and apply tags to help organize tickets and trigger routing rules.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2Ftk7DHCr2k5sfjl88LGso%2FScreenshot%202026-06-11%20at%202.13.42%E2%80%AFPM.png?alt=media&amp;token=8a8059c7-088f-4b60-9268-ab41b8dd89dc" alt=""><figcaption></figcaption></figure>

#### Summary and handoff

Aissist can summarize the conversation and detect when a human should take over.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FczcxgAsEVK7VfWD06NdC%2FScreenshot%202026-06-11%20at%202.19.15%E2%80%AFPM.png?alt=media&amp;token=cea0ec10-1380-402c-b38f-b6f2d2c42dd9" alt=""><figcaption></figcaption></figure>

### Supported events

The Freshdesk gateway can process:

* new ticket events
* assignee change events
* new comment events
* conversation update events

It supports both public comments and private notes.

### Co-Pilot in Freshdesk Omni

To use Co-Pilot with [in-note commands](/tutorial/in-note-command):

1. Create an [in-note command](/tutorial/in-note-command) in **Deploy → Tools → In-Note Command**.
2. Open the Freshdesk gateway.
3. Enable **Enable Co-Pilot with this Gateway**.
4. Add a private note with the command ID to run the command in the ticket.

You can use in-note commands to:

* analyze a conversation
* fill ticket fields
* evaluate agent performance

This works well for QA review, structured wrap-up, and ticket field updates inside Freshdesk.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FBHgckXX2M3sXhQVroVsu%2FScreenshot%202026-06-11%20at%202.22.30%E2%80%AFPM.png?alt=media&amp;token=8092f4a5-807d-4362-8dbb-9745175556f7" alt=""><figcaption></figcaption></figure>

### Best practice

Start with one workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.


# Freshchat (Deprecating)

*Last updated: May 6, 2026*

Connect Freshchat to let Aissist work inside chat conversation workflows.

With Freshchat, Aissist can:

* draft or send replies
* apply tags
* create summaries
* detect when human follow-up is needed

### Before you start

Make sure you have:

* Freshchat admin access
* your Freshchat account name
* your Freshchat API key from **Admin Settings → API Settings**

### Create the Freshchat gateway

1. Go to **Deploy → Gateways**.
2. Click **Add Gateway**.
3. Choose **Freshchat**.
4. Name the gateway.

#### Connect to Freshchat

Enter:

* **Chat URL** — your Freshchat account name, such as `your-account`
* **API Key** — your Freshchat API key

Then click **Connect to Freshchat**.

This connection:

* validates your credentials
* loads account details
* loads the available agent list
* loads the available channel list
* sets all channels as managed by default

See [Freshchat API authentication](https://developers.freshchat.com/api/#authentication) for more detail.

### Configure the webhook

Freshchat requires manual webhook setup.

1. Go to **Freshchat → Settings → Admin Settings → Marketplace and Integrations**.
2. Click **Conversation Webhooks**.
3. Enable webhooks.
4. Set the webhook URL to:

```
https://gateway.aissist.io/gateway/freshchat/endpoint
```

5. Save the configuration.

{% hint style="warning" %}
Unlike Freshdesk, Freshchat does not create this webhook automatically. You must configure it manually.
{% endhint %}

### Create the conversation property

Freshchat also requires a custom conversation property for tags.

1. Go to **Freshchat → Settings → Admin Settings → Configuration and Workflows**.
2. Open **Conversation Properties**.
3. Add a **Single line text** field.
4. Set:
   * **Label**: `tags`
   * **Internal Name**: `cf_tags`
5. Save the property.

This property lets Aissist write conversation tags back into Freshchat.

### Select the actor

Go to **Agent Setting** and choose the Freshchat agent identity that Aissist should act as.

The gateway cannot be saved until an actor is selected.

### Configure routing

Freshchat gateways use **channels** as the managing scope.

Choose which channels Aissist should handle.

### Save the gateway

Before saving, make sure:

* the gateway name is set
* the webhook is configured
* the `cf_tags` property exists
* an actor is selected

### Choose the operating mode

During setup, choose the operating mode:

* **Auto-Pilot** — Aissist replies automatically
* **Co-Pilot** — enables [in-note command](/tutorial/in-note-command)

Start with one narrow workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.

### How Aissist works in Freshchat

Aissist can support the Freshchat workflow in several ways.

#### Reply

Aissist can reply automatically inside the selected workflow.

#### Tag

Aissist can apply tags automatically to help organize chats and trigger routing rules.

#### Summary and handoff

Aissist can summarize the conversation and detect when a human should take over.

### Supported events

The Freshchat gateway can process:

* message events
* agent assignment events

It supports both user messages and agent notes.

### Best practice

Start with one channel and one repeatable workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.


# Salesforce

*Last updated: May 6, 2026*

Salesforce gateway documentation is in progress.

For now, use these pages to understand the deployment model:

* [Gateways](/gateways)
* [Deploy Gateway](/tutorial/deploy-gateway)

### What to expect

The Salesforce gateway will follow the same core setup pattern:

1. connect the platform
2. choose the managing scope
3. choose the operating mode
4. test before going live

Use **Auto-Pilot** for automatic replies.

Use **Co-Pilot** when the platform supports on-demand agent assistance.

### Need help now?

If you are planning a Salesforce deployment, contact the team for implementation guidance while this page is being completed.


# Kustomer

*Last updated: May 6, 2026*

Connect Kustomer to let Aissist support customer conversations inside your workspace.

With Kustomer, Aissist can:

* draft or send replies
* apply tags
* create summaries
* detect when human follow-up is needed

### Create the Kustomer gateway

1. Go to **Deploy → Gateways**.
2. Click **Add Gateway**.
3. Choose **Kustomer**.
4. Follow the setup steps to authorize the connection.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FMJu3QDFNDcn5fAwVyTsT%2FScreenshot%20from%202026-03-10%2019-01-32.png?alt=media&amp;token=e12c9fe8-4da2-4045-b098-5897f3b07055" alt=""><figcaption></figcaption></figure>

### Choose the operating mode

During setup, choose the operating mode:

* **Auto-Pilot** — Aissist replies automatically

Start with one narrow workflow.

Run **Auto-Pilot** for a short period, review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.

### How Aissist works in Kustomer

Aissist can support the Kustomer workflow in several ways.

#### Reply

Aissist generates context-aware replies using your instructions, assets, and actions.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FU1OnOcN2k62ob1pWIjl4%2FScreenshot%20from%202026-03-10%2019-07-17.png?alt=media&amp;token=8f28b920-3d56-43ca-a25e-31b58417433d" alt=""><figcaption></figcaption></figure>

#### Tag

Aissist can apply tags automatically to help organize conversations and trigger follow-up rules.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2F76WK7OajWaxB3qF2E2Eh%2FScreenshot%20from%202026-03-10%2019-06-10.png?alt=media&amp;token=a59a0a6f-9b06-4557-9ce3-62fed8a03451" alt=""><figcaption></figcaption></figure>

#### Summary and handoff

Aissist can summarize the conversation and detect when a human should take over.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FTgSBJe4c7Z9ymDiBzHo4%2FScreenshot%20from%202026-03-10%2019-07-08.png?alt=media&amp;token=f7901583-35df-4ca3-9fb6-45d43d25a31d" alt=""><figcaption></figcaption></figure>

### Best practice

Start with one repeatable workflow and run **Auto-Pilot** for a short period of time first.

Review the results, optimize Aissist, then gradually increase **Auto-Pilot** time.


# Use Cases

*Last updated: May 5, 2026*

See how teams use Aissist to automate sales and service workflows.

{% content-ref url="/pages/fqS8dDhEB7Fud6k7OH0v" %}
[Sales](/use-cases/sales)
{% endcontent-ref %}

{% content-ref url="/pages/vbqKqc0qhaanhchQCrKn" %}
[Service](/use-cases/service)
{% endcontent-ref %}


# Sales

**Last updated:** May 5, 2026

Use Aissist to automate lead qualification without losing context or conversion quality.

This example shows how a property rental company used Aissist to improve sales efficiency while keeping human focus on the highest-value leads.

### The challenge

The company needed to scale lead handling without scaling headcount at the same rate.

They wanted to:

* respond faster
* qualify leads consistently
* reduce operating cost
* keep conversion quality high

### What they automated

The team automated the qualification flow in five parts:

1. load the right knowledge
2. define clear instructions
3. tag leads by scenario and intent
4. route the right conversations to humans
5. handle corner cases safely

### 1. Assets

The team added the core knowledge sources first.

That included:

* the public website with rental listings
* business process documents
* internal guidance for credit checks and application steps

This gave Aissist the knowledge base it needed to answer common sales questions correctly.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FodOHdAiBo89IvBPUKqY3%2Fsunroom-googledoc.png?alt=media&amp;token=cab9cc92-4d0d-4e58-acea-bffab22ab12e" alt=""><figcaption><p>Google Doc for Knowledge Base</p></figcaption></figure>

### 2. Instructions

The team defined how the sales assistant should behave.

That included:

* brand tone
* qualification rules
* escalation rules
* response boundaries

With clear instructions, Aissist could behave more like a trained representative and less like a generic chatbot.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FOBxAK184s0wQvUW0hkIw%2Fsunroom-instruction.png?alt=media&amp;token=60ebff89-2eed-487f-b9ed-068463916063" alt=""><figcaption></figcaption></figure>

### 3. Intelligent tagging

Aissist used tags to organize leads by interest level, business area, and next step.

This helped the team:

* prioritize high-intent leads
* separate workflows by scenario
* find and review important conversations faster

Those tags appeared directly in the agent platform, which made routing and review much easier.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FuhCmtOkDhKvpOq3MJ3lM%2Fsunroom-tag.png?alt=media&amp;token=74828780-b79e-469f-985f-a979f0df4258" alt=""><figcaption></figcaption></figure>

### 4. Process and handoff

The team deployed Aissist into the existing sales workflow instead of building a new one around it.

Aissist handled the repeatable qualification steps first.

When a lead needed human attention, it tagged and routed the conversation so the team could step in at the right time.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FbFqmiAupuiK2etC8oOse%2Fsunroom-followup.png?alt=media&amp;token=47493642-e5d8-452c-9bfd-a4aab827c4d0" alt=""><figcaption></figcaption></figure>

### 5. Managing corner cases

The team improved performance over time by adding context and refining instructions for edge cases.

For example, when users asked about scenarios that were not covered in the first version, the team updated the guidance so Aissist could respond safely and consistently.

{% hint style="info" %}
On one occasion, a customer inquired whether the house was haunted. In response, Aissistant made a ghost-related joke, which was deemed inappropriate. To avoid such incidents in the future, we have added a new instruction: "Do not ever tell user about or joke around ghosts or haunted homes. If user asks about ghosts or haunted homes, tell the user that you will need help and someone will reach out shortly."
{% endhint %}

### Result

The company automated `80%` of lead traffic.

The remaining `20%` — the most valuable or complex conversations — were escalated to the human team.

That led to:

* higher sales efficiency
* lower operating cost
* better focus for human reps
* more scalable lead handling

### Why this works

This pattern works well for sales workflows that are:

* repetitive
* rules-based
* high volume
* easy to segment by lead intent

Lead qualification is one example.

The same pattern also works for inbound sales triage, rental inquiries, product fit questions, and other early-stage sales motions.


# Service

**Last updated:** May 5, 2026

Use Aissist to automate high-volume service workflows without losing control.

This example shows how an e-commerce team used Aissist to automate order tracking across a global support operation.

### The challenge

A global commerce brand handled hundreds of service tickets per day in multiple languages.

One of the most common requests was order tracking.

Before automation, agents had to:

* look up the customer order
* find the carrier and tracking number
* check the carrier site manually
* write the update back to the customer

That process was repetitive, slow, and expensive to scale.

### What they automated

The team automated the order tracking workflow in three parts:

1. classify the right conversations
2. connect the order and carrier systems
3. provide the AI with the right service guidance

### 1. Intelligent tags

The team created an inbound tag for `order_tracking` and outbound tags for shipping exceptions.

They also enabled the setting that limits replies to recognized sub agents.

This kept the automation focused on the order tracking workflow only.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FJKfYEx3p6EsRd1J7A343%2Fsmt-tag.png?alt=media&amp;token=2d026eba-fa94-4368-ad57-d2999749e91e" alt=""><figcaption></figcaption></figure>

### 2. Integrations

The workflow depended on two system types:

* Shopify for customer and order data
* carrier tracking systems for shipment progress

Aissist used the commerce integration to retrieve order details, including the carrier and tracking number.

For live tracking updates, the team used a lightweight AWS Lambda API that queried carrier systems directly.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FKlwxReCy9U3vw3GQaykx%2Fsmt-smart-action.png?alt=media&amp;token=6a830106-f8f1-4ea9-9a25-534d7ff53fbe" alt=""><figcaption></figcaption></figure>

### 3. Assets

The team created a Google Doc with:

* the handling steps for order tracking
* exception guidance
* a sample response format

This gave Aissist the context it needed to respond at the quality bar expected from human agents.

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FXlCkkB6RxYA7lcvncULu%2Fsmt-asset.png?alt=media&amp;token=a6eba312-f3f7-4203-a877-b46cbb009b77" alt=""><figcaption></figcaption></figure>

### Result

With these three pieces in place, Aissist could:

* detect order tracking conversations
* identify the correct order
* return the latest shipping update
* alert a human agent when further investigation was needed

<figure><img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2FOfdkpeTQVQvgVI0fjZAK%2Fsmt-session.png?alt=media&amp;token=13a4390c-21a6-4bf1-8875-912eeef219eb" alt=""><figcaption></figcaption></figure>

### Why this works

This pattern works well for service workflows that are:

* repetitive
* data-driven
* easy to define with clear handoff rules

Order tracking is one example.

The same pattern also works for returns, order status, billing questions, and other operational support flows.

If you want help designing a service workflow, contact <sales@aissist.io>.


# Success Metrics

How to measure the success of AI deployment?

**Last updated:** May 5, 2026

Measure AI performance with two metric groups:

* **Issue rate** — how often AI makes mistakes
* **Accomplish rate** — how often AI contains or resolves the work

These metrics help you balance reliability and automation.

### Issue rate

Issue rate measures how often Aissist produces the wrong outcome.

That can include:

* incorrect replies
* incorrect tags
* poor escalation decisions
* unsafe or off-brand behavior

Classify issues by business impact.

* **P0** — severe and unrecoverable business impact
* **P1** — clear business impact, but recoverable
* **P2** — minor impact with low urgency

{% hint style="info" %}
A core goal is **trust**.

AI should avoid catastrophic failures, such as abusive language, unsafe actions, or behavior outside its intended role.
{% endhint %}

### Accomplish rate

Accomplish rate measures how much work AI handles successfully.

Track it with two metrics:

* **Contained Rate**
* **Resolution Rate**

#### Contained rate

Contained rate is:

`1 - percentage of sessions with sys_human_help`

Sessions usually get `sys_human_help` when:

* the user asks for a human
* AI lacks the information to answer
* AI finds a scenario it does not know how to handle

#### Resolution rate

Resolution rate is:

`1 - percentage of sessions with sys_human_help or sys_human_follow_up`

The added tag, `sys_human_follow_up`, usually means:

* a human should pay attention
* a human needs to complete an action
* there are unresolved questions or next steps

Targets depend on workflow complexity and the quality of your instructions, assets, and actions.

Below are practical ranges and the usual improvement path.

<table><thead><tr><th width="166">Rate</th><th width="317">Ideal Target</th><th>Actions to improve</th></tr></thead><tbody><tr><td>Contained Rate</td><td><ul><li>Sales lead qualification -> 80% - 90%</li><li>Service -> 70% - 90% (depends on complexity, eCommerce will be higher than technology service)</li></ul></td><td>This normally means that there is a gap of either instruction or assets against the incoming traffic, enhancing which will lead to higher contained rate.</td></tr><tr><td>Resolution Rate</td><td><ul><li>Sales lead qualification -> 70 - 80%</li><li>Service -> 60% - 85% (depends on complexity, eCommerce will be higher than technology service)</li></ul></td><td>High contained rate and low resolution rate could be normal because in some scenarios that you do want human team to pay attention but not necessarily take actions. Fine-tuning AI to let AI output less response like "someone from the team will reach out", etc, will improve the resolution rate.</td></tr></tbody></table>

{% hint style="info" %}
There is no universal target.

With strong documentation and clear workflows, many teams can reach `70%–80%` resolution rate and `80%–90%` contained rate.
{% endhint %}

### How to improve results

If issue rate is high:

* tighten instructions
* remove conflicting assets
* narrow the workflow scope
* keep sensitive cases out of **Auto-Pilot** until the workflow is stable

If contained rate is low:

* add missing knowledge
* refine sub agents
* improve action coverage

If resolution rate is low:

* reduce unnecessary human follow-up triggers
* improve action execution
* refine replies that hand work to humans too early

### Recommended review cadence

Review success metrics every week during rollout.

Track:

* P0, P1, and P2 issues
* contained rate
* resolution rate
* top reasons for human handoff

Then update instructions, assets, actions, or routing based on what you learn.


# FAQ

**Last updated:** June 11, 2026

### Most common issues

Start here for the fastest answers:

* [Setup and rollout](#setup-and-rollout) — for reply issues and go-live testing
* [Accuracy and troubleshooting](#accuracy-and-troubleshooting) — for duplicate messages and weak answers
* [Routing and handoff](#routing-and-handoff) — for escalation routing and handoff behavior

### Basics and billing

<details>

<summary>What is the project, workspace, gateway?</summary>

**Project** is the billing unit.

Use one project for a company or brand.

Inside a project, you can have multiple workspaces and multiple gateways.

**Workspace** is the unit of agent configuration.

It contains the instructions, assets, actions, and deployment setup for one AI agent.

Use one workspace for a team, function, or store.

A workspace can be deployed to multiple gateways.

Each gateway can deploy only one workspace.

**Gateway** is the deployment unit.

It defines which workspace runs on which managing point.

</details>

<details>

<summary>What is the monthly quota for free accounts?</summary>

Free accounts include `3000` AI interactions per month on the base engine.

</details>

<details>

<summary>What is the difference between free and paid accounts?</summary>

Free accounts are limited to `3000` AI interactions per month and use the base engine only.

Messages from free accounts include an `aissist.io` footer.

Paid accounts can use both the base engine and the advanced engine with no usage limit.

Messages from paid accounts do not include Aissist branding.

</details>

<details>

<summary>How do I upgrade to a paid account?</summary>

Go to **Billing**, add a credit card, then click **Activate** on the **Pro** tier.

</details>

<details>

<summary>Will you lower your price if AI cost is reduced?</summary>

If AI costs decrease, we plan to pass those savings on to customers.

</details>

<details>

<summary>What’s Aissist’s relationship with OpenAI?</summary>

Aissist uses a proprietary orchestration layer that can work with multiple LLM providers.

Aissist currently works with OpenAI, Grok, Claude, and Gemini.

</details>

### Setup and rollout

<details>

<summary>Why is Aissist not replying?</summary>

Check these first:

* the conversation is inside the gateway managing point
* the workflow matches a listed sub agent if reply scope is restricted
* no sub agent triggered **No Response for Current Interaction**
* no sub agent triggered **No Response After Current Interaction**

If the conversation already escalated and **Suspend Afterwards** is on, Aissist stops replying after handoff.

Use [Simulator](/tutorial/simulator) to reproduce the case before testing it live.

</details>

<details>

<summary>How should I test before going live?</summary>

Use these three tools together:

* [Simulator](/tutorial/simulator) for full reply logic
* [Asset Debugger](/tutorial/turn-assets-into-ai/asset-debugger) for knowledge retrieval
* [Action Debugger](/integrations/action-debugger) for action triggers and API output

Start with one workflow.

Then roll out to a small amount of live traffic and review sessions before expanding.

</details>

<details>

<summary>When should I use instructions, assets, or sub agents?</summary>

Use **Instructions** for global behavior.

Use **Sub Agents** for workflow-specific logic, such as returns or order tracking.

Use **Assets** for knowledge that should be retrieved only when relevant.

If you put workflow logic into global instructions, the workspace becomes harder to maintain.

See [Instructions, Assets, and Sub Agents](/tutorial/instructions-assets-and-sub-agents) for the full model.

</details>

<details>

<summary>How do I keep Aissist focused on only a few workflows?</summary>

Create separate sub agents for each supported workflow.

Then enable the setting that limits replies to recognized sub agents.

Use this when Aissist should reply only to specific scenarios, such as returns or order tracking.

It also helps reduce off-scope replies during early rollout.

</details>

<details>

<summary>How often do web page assets refresh?</summary>

Web page assets refresh every 24 hours.

If you update the asset manually from the console, that also triggers a refresh.

Use a web page asset when one public URL matters.

Use a domain asset when you need wider site coverage.

See [Web Page](/tutorial/turn-assets-into-ai/web-page) and [Website Domain](/tutorial/turn-assets-into-ai/website-domain).

</details>

<details>

<summary>How do I set the response language?</summary>

If most users speak one language, set that language in the workspace.

If your traffic is multilingual, enable **Auto Language**.

Use **Language Detection Instruction** only when language choice needs extra rules, such as mixed-language messages or custom markers.

See [Configure Workspace Settings](/tutorial/tune-aissist-behavior/configure-workspace-settings).

</details>

### Accuracy and troubleshooting

<details>

<summary>What is the difference between the base and advanced engine?</summary>

The base engine costs `$0.05` per AI interaction.

The advanced engine costs `$0.09` per AI interaction.

The advanced engine handles emotional messages and complex logic better.

Use the base engine for simpler workflows.

Use the advanced engine when the workflow is more nuanced or complex.

</details>

<details>

<summary>Why does Aissist send duplicate messages?</summary>

This usually happens when more than one gateway manages the same inbox, tag, or conversation source.

Check whether:

* multiple gateways point to the same managing point
* multiple workspaces are deployed to overlapping traffic
* the same user message appears in more than one inbox

</details>

<details>

<summary>Why does Aissist use the wrong order number?</summary>

This usually happens when multiple IDs appear in the same context, such as a ticket ID, user ID, and order ID.

To reduce ambiguity, standardize order IDs with a clear prefix.

For example:

* `AISSIST123456789`

This makes the intended order ID easier to detect correctly.

</details>

<details>

<summary>How do I improve inaccurate or outdated answers?</summary>

Fix the source content first.

Do not rely on extra global instructions to patch missing knowledge.

Update the asset, remove conflicting sources, and make the workflow steps explicit.

Then test retrieval again in [Asset Debugger](/tutorial/turn-assets-into-ai/asset-debugger) and re-run the conversation in [Simulator](/tutorial/simulator).

See [Refine Assets](/tutorial/tune-aissist-behavior/refine-assets) for the recommended process.

</details>

<details>

<summary>Why does Aissist retrieve irrelevant content?</summary>

This usually means the asset scope is too broad.

Common causes:

* unrelated pages are available to every workflow
* one broad asset mixes multiple topics
* assets are not linked to the right sub agents

Link assets to the sub agents that actually need them.

This keeps retrieval focused and improves answer accuracy.

</details>

<details>

<summary>What should I do if an action does not trigger or returns the wrong data?</summary>

Check the action trigger scenario first.

Then review:

* the action name and description
* the parameter names and descriptions
* whether the action is linked to the correct sub agent
* whether the API response returns only the fields Aissist needs

Use [Action Debugger](/integrations/action-debugger) to test the action, then [Simulator](/tutorial/simulator) to test the full conversation.

</details>

<details>

<summary>How do I find the Zendesk chat conversation ID?</summary>

Open the Zendesk ticket, then click the **Events** icon next to the three-dot menu in the top-right corner.

The conversation ID appears in the event list.

<img src="https://301624521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKHM836KGDAfAWvw6XL6%2Fuploads%2Fhq3kR343KqgWoWuiHNzB%2FScreenshot%202024-08-26%20at%209.46.06%20PM.png?alt=media&amp;token=1bcc82b2-1f5a-4bd6-af8d-c8dd1e9f2695" alt="" data-size="original">

</details>

### Routing and handoff

<details>

<summary>What is the difference between the managing point and escalation target?</summary>

The managing point decides which conversations Aissist handles.

The escalation target decides where escalated conversations go by default.

Use the managing point to control scope.

Use the escalation target to control the default human destination.

Avoid placing multiple gateways on the same managing point.

</details>

<details>

<summary>When should I use Auto-Pilot or Co-Pilot?</summary>

Use **Auto-Pilot** when Aissist should reply automatically.

Use **Co-Pilot** when agents should trigger AI help on demand inside the platform.

Start with one narrow workflow in **Auto-Pilot**.

Review live results, then expand gradually.

For in-note commands, the gateway must support **Co-Pilot** and have it enabled.

</details>

<details>

<summary>Why did Aissist escalate too early or not escalate at all?</summary>

Escalation depends on clear confirmation signals.

By default, Aissist escalates when the user asks for a human, when the handoff is clearly stated, or when the case is out of scope.

Vague phrases such as `may need review` do not count as confirmed escalation.

If you customize escalation rules, keep the workspace, sub agents, and escalation settings aligned.

See [Streamline with Human Team](/tutorial/streamline-with-human-team).

</details>

<details>

<summary>What does Max Number of Interactions Before Escalation do?</summary>

It escalates the conversation after too many unresolved back-and-forth messages.

Use it as a safety limit for workflows that should not loop too long.

This works best when the workflow already has clear escalation rules.

See [Configure Workspace Settings](/tutorial/tune-aissist-behavior/configure-workspace-settings).

</details>

<details>

<summary>How do I route escalations to the right team?</summary>

Use the gateway **escalation target** for the default human destination.

Use **handover rules** when different sub agents should go to different teams.

For example:

* billing sub agents → billing team
* return sub agents → returns team
* technical support sub agents → support queue

If the human team should fully take over, turn on **Suspend Afterwards**.

See [Streamline with Human Team](/tutorial/streamline-with-human-team) and [Deploy Gateway](/tutorial/deploy-gateway).

</details>


# Release Notes

*Last updated: June 11, 2026*

{% updates format="full" %}
{% update date="2026-06-04" %}

## Improved image processing

Image processing now uses a better AI model.

This improves image understanding and processing capability.
{% endupdate %}
{% endupdates %}


