---
title: "How to set up your Adoption Agent in minutes"
slug: "ai-assistant"
description: "Userflow's AI Assistant delivers instant, automated answers in your app, reducing support tickets and enhancing user experience with accurate responses."
updated: 2026-08-14T17:51:00Z
published: 2026-08-14T17:51:00Z
canonical: "help.userflow.com/ai-assistant"
---

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

# How to set up your Adoption Agent in minutes

Adoption Agent, powered by FlowAI, answers your users’ questions instantly, right in your app. Powered by the latest large language models (LLMs), it learns from your knowledge base, website content, Flows, and Action flows to provide accurate, automated responses - reducing support tickets and enabling users to get the help they need without waiting.

Setup only takes minutes. Just add your website URL, integrate with [common knowledge base systems](/userflow/docs/ai-assistant#content-source-types), or integrate Flows, and the Adoption Agent handles the rest!

Every Adoption Agent follows the same core workflow before it's visible to users:

Train — Connect your content sources (website, knowledge base, Flows, Action flows) and click Train. Userflow fetches and indexes your content.

Test chat — Use the built-in Test chat to verify your agent responds accurately before anyone sees it. Test chats don't count toward your credit usage.

Publish — Click Publish when you're satisfied. Your agent is now ready to add to your Resource Center.

> [!NOTE]
> Public vs. private knowledge bases
> 
> The Adoption Agent web crawler cannot scrape content that requires login credentials/authentication. However, if you use one of the direct integrations through Salesforce, Intercom, or Zendesk, it is possible to use Adoption Agent with that content. See [source types](/userflow/docs/ai-assistant#content-source-types) below.

> [!NOTE]
> Already have an Adoption Agent in your account?
> 
> If you signed up for Userflow recently, an Adoption Agent was auto-created and started training on your website content during account setup. Open **Adoption Agent** from the sidebar to see it. The steps below walk through creating an additional Adoption Agent or modifying the auto-created one. To customize the existing agent, jump to "Step 4: Configure your agent settings" below.

## How the Adoption Agent works

Create an Adoption Agent by connecting your content sources - your website, knowledge base, Flows, Action flows, support center, or a combination. Click to train it, and it’s ready to answer questions based on your content, including follow-up questions that build on the conversation.

Users access Adoption Agent through your Resource Center.

![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(717).png)

> [!NOTE]
> Privacy Assurance and Adoption Agent
> 
> Userflow does not use AI inputs to train, fine-tune, or otherwise improve public large language models. However, to maintain the highest standards of data security, we strongly recommend training your Adoption Agent on non-sensitive data and instructing users not to submit any sensitive or private information in their Adoption Agent searches. Refer to our [Terms of Service](https://www.userflow.com/policies/terms) for additional details.

### How the Agent builds an answer

Knowing how the Adoption Agent arrives at an answer makes it much easier to tune your sources and troubleshoot a response that isn't what you expected.

Every question runs through the same four steps:

1. **Fragment.** Userflow breaks all of your connected content into small fragments—knowledge base articles, crawled pages, integration content, Text sources, and the descriptions attached to any Flows and Action flows you've added as a source.
2. **Score.** Every fragment is scored for relevance against the question the user actually asked.
3. **Generate.** The highest-scoring fragments are passed to your configured AI engine, which writes the answer.
4. **Cite.** Every source that contributed to that answer is listed as a reference below it.

Two consequences of this are worth knowing up front.

**The Agent won't quote your articles word-for-word.** The AI engine writes each answer from the fragments it receives, so the phrasing won't match your source content exactly. That's expected behavior, not a fault. If the *substance* of an answer is wrong, treat it as a source or tuning problem rather than a wording problem.

**An answer can cite more than two sources.** There's no cap at two. If fragments from four different pages all contributed, you'll see four references.

#### When the wrong source wins

If your marketing site or blog is consistently outranking your help center on a topic, that usually isn't a scoring fault. Users tend to phrase questions the way marketing copy is written rather than the way help articles are written, so those fragments score as genuinely more relevant.

Both can also appear together. If a help article and a marketing page each contributed to an answer, both are listed as references.

When you see one source crowding out another as a recurring pattern, name the URLs you want favored in [Custom instructions](/userflow/docs/ai-assistant-settings-and-advanced-customizations#custom-instructions)—for example, telling the Agent to prefer your help center over your blog. Test the result in **Test chat** before publishing.

### Training your Adoption Agent

Adoption Agents are created, managed, and published in a similar manner to other Userflow content, such as Flows and Checklists. However, they also require a brief training step before publishing.

### Step 1: Create the Adoption Agent

1. Select **Adoption Agents** in the sidebar and click **Create Adoption Agent**.
2. Enter a name and click **Create agent**.

### Step 2: Add sources and train the Adoption Agent

1. Click **Add source** and select an option. Learn more about the [Web crawler](/userflow/docs/ai-assistant#web-crawler) and [other source types](/userflow/docs/ai-assistant#source-types) to learn how to integrate with help centers and configure flows to appear as results in an Adoption Agent search below.

> [!NOTE]
> Public vs. Private content
> 
> Adoption Agent can only access/scrape content that is public. Adoption Agent cannot access content that requires log in credentials unless you have configured the Adoption Agent through an integration with Salesforce, Zendesk, or Intercom. [See content source types](/userflow/docs/ai-assistant#content-source-types).
2. Enter the source information in the right-hand panel.
3. Click **Train**. *Userflow will fetch all source information and train the agent. Depending on the amount of content, it may take several seconds to minutes.*

Each source type is documented under [Content source types](https://help.userflow.com/docs/ai-assistant#content-source-types) below, including [adding a Flow as a source](https://help.userflow.com/docs/ai-assistant#add-a-flow-as-a-source).

#### Adding multiple sources

- You can add multiple sources if you have content on different domains, such as *yourdomain.com* and *help.yourdomain.com*.
- Whenever you change the agent settings, you must click **Train** to apply the changes.

### Step 3: Test the agent

1. After training is complete, click **Test chat** and enter search criteria relevant to your source to view how the agent responds. The result will display in the test chat window. Test follow-up questions as well. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(249).png)

> [!WARNING]
> **Test chat vs. Preview**
> 
> It's important to understand the difference between Test chat and Preview:
> 
> - **Test chat** — available in the Adoption Agent builder. Does not consume subscription credits. Covered by a separate monthly test-chat limit of 500 credits, shared across your account. If your account’s test-chat limit was raised previously, your ceiling is 500 plus that earlier increase.
> - **Preview** — available when previewing flows and other Userflow content. Counts as regular subscription messages against your plan credits. If you're previewing a flow that triggers an Adoption Agent interaction, that usage counts against your plan.
> 
> Use Test chat for agent accuracy testing; use Preview when you need to test the full end-to-end user experience.
2. Refine your source settings to improve the Adoption Agent’s accuracy. Common adjustments include:

- **Exclude irrelevant pages:** Block the crawler from specific URLs to prevent training on unrelated content. Activate the **Control URLs to visit** option and add URLs to the **Do not visit URLs matching** field**.** Use the **"+”** to add multiple URLs.
- **Filter page content:** Remove headers, footers, and navigation menus using CSS selectors by adding them to the **Only include HTML matching CSS selector** and/or **Exclude HTML matching CSS selector** settings**.** You can verify the text stored for each page the Adoption Agent trained on by clicking the number of documents trained and selecting a document in the list to view it. Read more about this in the [Web crawler](/userflow/docs/ai-assistant#web-crawler) section below. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(380).png)

### Step 4: Configure your agent settings

The Adoption Agent settings include advanced customizations, agent-level limit settings to help you stay within your usage budget, and customizations for your standard message placeholders, UI copy, and set feedback settings. Learn more in our [Adoption Agent settings and advanced customizations](/userflow/docs/ai-assistant-settings-and-advanced-customizations) documentation.

### Step 5: Publish your agent

Click **Publish** when you are satisfied with your test results. *The agent is now usable but not yet visible to users. Follow the steps in the next section to add it to your Resource Center.*

### Step 6: Add the Adoption Agent to your Resource Center

After you publish your Adoption Agent, add it to your Resource Center to make it visible to your users.

1. Select **Resource centers** in the sidebar.
2. Find your Resource Center in the list and click it. If you don’t have one yet, either create one or refer to the [Minimal resource center solution](/userflow/docs/ai-assistant#minimal-resource-center-solution) for additional options.
3. Select **Add block > Adoption Agent**.
4. Select your agent from the dropdown list in the side panel, then configure: - How it will appear (text input or button) - Placeholder text or button tooltip text - Whether you want to show a “contact support” button - Conditions that must be met for the block to appear *We recommend placing the Adoption Agent block at the bottom of the Resource Center and using the* ***Text input*** *option under* ***Appearance****. This creates an eye-catching design that captures users’ attention when they open the resource center.*
5. Click **Preview** to test the Resource Center with the agent before publishing.
6. When ready, click **Publish** to make the agent available for users.

### Content source types

You can add multiple content sources and refinements to an Adoption Agent. You can also publish more than one Adoption Agent for a single site.

#### Which knowledge bases and documentation sites can I connect?

- **Any public documentation site or help center.** Point the **Web crawler** at it. If a person can read the page without signing in, the Adoption Agent can read it too.
- **Salesforce Knowledge, Zendesk, and Intercom help centers** — including ones behind a login. Connect them under **Settings → Integrations** and they appear under **Add source**. These are the only authenticated sources the Agent reads directly.
- **Other private or authenticated systems aren’t supported directly.** Confluence is the most common ask and there’s no Confluence source. Either publish the relevant pages somewhere public the crawler can reach, or paste the content into a **Text** source.
- **Your own Userflow content** — Flows and Action Flows can be added as sources. See the source types below.

The **Knowledge base block** in a Resource Center is a separate feature with its own provider list — see [Chat and Knowledge bases](https://help.userflow.com/docs/chat-and-knowledge-bases).

#### Web crawler

##### Crawl a website or help center

The Web crawler starts at the given **Starting URL** and recursively follows all links.

It will only follow links within the same path as the **Starting URL**. Examples: If your **Starting URL** is `https://example.com/docs`, it will read `https://example.com/docs/page`, `https://example.com/docs/sub/page`, and anything else under that path, but it will not read `https://example.com/other-page` since it’s not under the `/docs` prefix. It also won’t follow links to other domains.

To prevent the crawler from visiting certain pages, enable **Control URLs to visit** and add URL patterns to include or exclude. When a page is not visited, the crawler will not load it, meaning it won’t store its content or follow its links.

If you want the crawler to visit certain pages but not store them as source information, enable **Control URLs to store**. When a page is marked as not stored, the crawler will load it and follow its links, but not store its content. This feature is useful for following links from index-like pages without including their content. For example, on a blog, you want the crawler to visit `/blog` and `/blog/page/:page` to find all old blog posts, so you can’t use the **Control URLs to visit** feature.

The crawler will attempt to extract only the text bits from each page’s HTML content and transform it to Markdown, which helps the agent understand headings, sections, code, and other formatting. It’s a good idea to remove all text that’s not the main content of the page. To do this, use the **Only include HTML matching CSS selector** and **Exclude HTML matching CSS selector** settings. Examples:

- If your documentation site wraps the main content in an `&lt;article&gt;` HTML tag, enter `article` under **Only include HTML matching CSS selector**.
- If your website has `&lt;header&gt;` and `&lt;footer&gt;` HTML elements on all pages containing the top and bottom menus, enter `header, footer` under **Exclude HTML matching CSS selector**.

After training the agent, click the **x documents** link in the builder header and explore some of the URLs to ensure the text is clean and free of irrelevant content.

If your website uses JavaScript to dynamically fetch content and render it asynchronously, you may find that your pages’ content is empty. If this occurs, enable **Render JavaScript**. You can also enter a number of milliseconds to wait before capturing the content. Choose a duration you feel confident that your page will load within. If unsure, enter the maximum value of 10,000 (10 seconds), but note that higher values may slow down training. If the wait is shorter than your page needs, the crawler stores only what has rendered before it expires. Because page-load speed varies between crawls, the same page can be captured in full on one training run and partially or not at all on the next — which is a common reason an Agent answers a question correctly one week and can't find it the following week with nothing changed on your side. If answers come and go like that, raise the wait before changing anything else, and re-check the **x documents** link after training.

If your website uses special proxies or captchas, you may not see any documents under **x documents** and may encounter error messages in the **Training log**. If this happens, try enabling the **Captcha/proxy workaround**. If the issue persists, contact Userflow support for assistance.

Note that Userflow caches your web pages for up to one week. This speeds up retraining, as it only needs to reevaluate your URL patterns, CSS selectors, etc., without waiting for your website to respond with the full HTML. If your website content has changed, click the **Clear cache and train** button under the top-right three-dot menu in the builder.

#### Flows

##### Add a Flow as a source

When users search for help and answers to questions, they often want a variety of result formats - help articles, blog posts, and Flows. You can train the Adoption Agent to include specific Flows (or all Flows) in response to a query. By including Flows in your Adoption Agent, you can:

- Reduce time-to-resolution by connecting users directly to guided walkthroughs.
- Increase feature adoption by bridging the gap between reading and doing.
- Cut support tickets by turning passive answers into active, hands-on help.

**To add Flows to your Adoption Agent search results:**

1. Click **Add source** or **Add another source > Flows**. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(673).png)
2. Click **+Add**. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(674).png)
3. Select individual Flows to the Adoption Agent or click **+ Add all** to include all published Flows. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(678).png)
4. Click a Flow in the **Flows source** panel on the right to edit its details. You can add a description manually or click the AI button to have AI generate the Flow’s purpose, add a URL that should launch when the Flow is selected, and add conditions for when this flow should appear in the Adoption Agent results. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(701).png)

### How users find Flows in Adoption Agent results

When users use the Adoption Agent, they’ll get Flows in the response if there’s a match.

#### Action flows

##### Add an Action Flow as a source

![Sources for adoption agents including options like Action flows and Intercom connections.](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/actionflowscreenshot1(1).jpg) An Action Flow is a task the Adoption Agent performs for the user rather than guiding them through. Adding Action flows as a source lets the Agent offer to run those tasks when a user asks for one.

To add Action flows to your Adoption Agent:

1. Click **Add source** or **Add another source** > **Action flows**.
2. Click **+ Add** in the **Action flows to suggest** panel.
3. Select the Action Flows this Agent should be able to run.
4. Click an Action Flow in the panel to set its **Action flow icon**, and use **Only suggest action flow if…** to limit which users it's offered to.
5. Click **Train**.

The Agent decides when to recommend an Action Flow from the **Summary of action flow** written on the flow itself. Unlike a Flow, an Action Flow has no content for the Agent to read, so that summary is the only context it has.

Users always confirm before an Action Flow runs — the Agent presents it as a card and nothing happens until the user clicks it.

For the full setup, see [Create an Action Flow](https://help.userflow.com/docs/create-an-action-flow) and [Add an Action Flow to your Adoption Agent](https://help.userflow.com/docs/add-action-flows-to-your-adoption-agent).

#### Text

##### Add plain text as a source

The Text source is beneficial for providing the agent with information that you prefer not to display directly on your website.

For instance, during the early-access phase of our Adoption Agent feature, this public guide was unavailable. However, we still wanted to offer helpful information to customers inquiring about getting an agent of their own. To achieve this, we added the following text in a Text source:

> Users can get a Userflow Adoption Agent of their own by contacting us via the HUMAN live-chat. We maintain a waitlist and will extend invitations soon.

#### Salesforce

##### Connect Salesforce Knowledge

The Salesforce source loads your Knowledge Base articles directly via the Salesforce API. It works even if your help center requires user authentication. You can easily filter which data categories you want to include.

How to set up:

1. Connect to Salesforce under **Settings > Integrations**.
2. Fill in your **Article URL template** under **Salesforce Knowledge Base settings**. This is how the agent will know how to link to your articles. Example: `https://help.mysite.com/s/article/{{ article.urlName }}`. If you don’t fill this field in, articles’ content will be used for answering, but the agent will not provide any source links.
3. Optional: By default, we’ll use the content of your articles’ **Title**, **Question** and **Answer** fields from Salesforce. If you’re using a different format for your articles, you can use a custom **Article content template**. If your articles have a custom field called, `CustomText__c`, then you can use it like this: `{{ layout_items.CustomText__c }}`.
4. **Salesforce** will now appear under the **Add source** button in the agent builder.

#### Zendesk

##### Connect a Zendesk help center

The Zendesk source loads your help center articles directly via the Zendesk API. It works even if your help center requires user authentication. You can easily filter which categories/sections you want to include.

First, connect to Zendesk under **Settings > Integrations**. After that, Zendesk will appear in the **Add source** button under the agent builder.

**⚠️ Existing Zendesk connections may need reconnecting**

  

Zendesk is phasing out long-lived API tokens (April 30, 2026 – April 2027). If your Zendesk source was connected before Userflow's refresh-token update, the Adoption Agent's access to private Zendesk content may fail or silently go stale until you reconnect under Settings > Integrations.

#### Intercom

##### Connect an Intercom help center

The Intercom source loads your help center articles directly via the Intercom API. It works even if your help center requires user authentication. You can easily filter which categories/sections you want to include.

First, connect to Intercom under **Settings > Integrations**. After that, Intercom will appear in the **Add source** button under the agent builder.

### Minimal resource center solution

If you are not using the full Resource Center but want to implement the Adoption Agent in your app, you can create a new Resource Center containing only a single Adoption Agent block.

Next, have your developers disable the default Resource Center Launcher by adding the following line before your `userflow.init()` call. This will prevent the round Userflow help button from appearing in the corner of your app:

```plaintext
userflow.setResourceCenterLauncherHidden(true)
```

Then, click **Publish** in the resource center builder. As the default launcher is hidden, nothing will be displayed to users.

Finally, request your developers to open the agent chat programmatically, such as when users click a custom button in your app:

```plaintext
userflow.openResourceCenter()
```

An example of an event handler on a button:

```plaintext
<button onclick="userflow.openResourceCenter()">
  Chat with our Adoption Agent
</button>
```

### User ratings and feedback

Users can rate the agent’s replies using the thumbs-up and thumbs-down icons located below each response.

Upon liking or disliking a reply, users can provide additional feedback in a free-form text field.

You can view both the ratings and the feedback on the agent’s **Analytics** tab.

A contextual help widget embedded in the app that houses content like flows, checklists, knowledge base search, announcements, and contact options. You can create separate Resource Centers for different customer segments to deliver a highly relevant experience.

The in-app UI element that reveals the Resource Center (often an icon or button). This can be either the Userflow defaults or elements from your app for custom Resource Centers.

## Related

- [Resource Center Implementation Guide](/resource-center.md)
- [Adoption Agent usage limits and billing](/ai-assistant-pricing.md)
- [Adoption Agent settings and advanced customizations](/ai-assistant-settings-and-advanced-customizations.md)
- [Adoption Agent localization](/ai-assistant-localization.md)
