AI Assistant settings and advanced customizations

Prev Next

Userflow's AI Assistant can be tailored to meet your specific needs, providing more relevant, personalized responses to your users. This guide walks you through the configuration options available when creating an AI Assistant, from basic settings such as language preferences and training frequency to advanced customizations that allow you to fine-tune the assistant's behavior, grant it access to specific knowledge, and personalize responses based on user attributes. Whether you're looking to make simple adjustments or implement sophisticated personalization strategies, these settings give you the control you need to create an AI Assistant that truly serves your users and aligns with your product's unique requirements.

Assistant Settings

Language settings and training frequency

When you create an AI Assistant, you can configure:

  • Whether it always responds in a specific language or if it should attempt to match a user’s language settings.

  • How often (if at all) does it automatically train itself? If your site content changes frequently, be sure to set the auto-training more frequently. (Default is Never.)

Advanced customization

Advanced customizations allow you to personalize your AI assistant's behavior, grant it access to specific knowledge, and influence the selection of relevant source content.

While they can significantly enhance your assistant's performance and alignment with your requirements, we recommend implementing changes incrementally to observe their impact on responses, and encourage you to contact us for guidance on optimizing these capabilities.

Userflow plan availability

Advanced customizations are exclusively available on our Pro and Enterprise plans.

Below is a brief summary of these configurations, followed by more comprehensive descriptions below:

  • AI engine: Indicates which GPT version the assistant will use. We recommend GPT-4o as it is the latest model and provides faster and more accurate results.

  • Custom instructions: Directs the assistant to modify its behavior. Think of these as commands or requests.

  • Persistent knowledge: Essential information that the assistant should always have access to, regardless of the user’s input.

  • Source relevance keywords: Affects the relevance of source content, personalized for each user.

  • Static fallback message: A customizable message that will appear when an answer is not found.

Some settings use a Liquid template, which supports user attributes for personalized instructions. We advise against including any Personally Identifiable Information (PII) in these fields (as they are sent to OpenAI). You can use English or any other language in all three fields.

AI engine

This setting determines which GPT model is used with your AI Assistant. As of August 2025, GPT-4o will be the default setting. All existing accounts may update their assistant to GPT-4o. Note that a brief retraining of the AI Assistant is necessary on this new model.

How to update your AI Assistant to GPT-4o

  1. Log in to Userflow and select AI Assistant from the sidebar.

  2. Open your AI Assistant and select Advanced customization.

  3. Select GPT-4o from the AI agent menu.

  4. Click Train to retrain on the new model. You may leave this page while training continues. You will receive an email confirmation when it is complete.

  5. If you have multiple AI Assistants, repeat steps 2-4.

Custom instructions

This field contains instructions that alter the assistant’s behavior. Do not use it to provide information; use Persistent knowledge for that purpose.

For example, imagine you have an accounting software with mixed documentation for corporations and sole proprietorships. Rules differ depending on the user’s company type, and you want the assistant to provide appropriate information accordingly. If you have a user attribute called company_type, you can use the following example:

{% case user.company_type %}
  {% when "Corporation" %}
     Favor information about Corporations and avoid information about Sole Proprietorships.
  {% when "Sole Proprietorship" %}
     Favor information about Sole Proprietorships and avoid information about Corporations.
{% endcase %}

Another example involves users with varying technical expertise. Technical users may prefer API and code solutions, while non-technical users might lean toward UI-based solutions. If you have a user attribute called technical_level set to either low or high, use the example below:

{% case user.technical_level %}
  {% when "low" %}
     The user is not very technical; prioritize UI-based solutions over code.
  {% when "high" %}
     The user is highly technical; prioritize API or code solutions.
{% endcase %}

Multiple instructions can be combined in the same field. Ensure all user attribute combinations are tested.

Persistent knowledge

This field contains information that the assistant should always have access to, regardless of the user’s input. Your entire knowledge base is too large to send with every message, so we employ smart techniques to send only the most relevant information. Not all regular source content is transmitted to the assistant with each message.

Do not use this field for specific instructions (use Custom instructions instead), as the assistant will not act on them. The content here is treated like your website’s content, with the only difference being its constant availability to the assistant, irrespective of user input.

Refer to the user as “the user” in the text. The assistant knows there is a user and that its replies are intended for them (although it doesn’t know the user’s identity).

Here’s an example where the assistant receives information about the user and their company. In this case, we’re using our Companies feature to include attributes at the user level, company level (called group), and company membership level (called group_membership).

Information about the user:
- User's role in the company: {{group_membership.role}}
Information about the user's company:
- Company legal entity type: {{group.company_type}}.
- Pricing plan: {{group.plan}}

The assistant can now combine this knowledge with other information related to the user’s query to provide more accurate answers.

For example, if your documentation states that a specific feature X is only available on the “Pro” plan and the assistant is informed that the user’s plan is “Basic,” then when a user asks, “Why can’t I see feature X?”, the assistant can intelligently answer that it’s because the user is not on the “Pro” plan.

Source relevance keywords

We employ intelligent techniques to identify the most relevant source content to send to the assistant with each message. This field enables you to influence the relevance of source content, which is personalized for each user.

Keep this field short and free of unnecessary words. Ideally, include just 1-5 comma-separated keywords.

Returning to our accounting software example (above), if a user asks, “How do I do X?” and your documentation contains instructions for performing X for both corporations and sole proprietorships, simply adding the company_type  attribute to this field will increase the likelihood of selecting the correct documentation.

Example field value:

{{user.company_type}}

Static fallback message

If the AI Assistant can't generate a response to a question, the default message "We do not have an answer to that question" will automatically appear. However, you may want to personalize this message, perhaps including directions for getting further assistance.

To personalize your message, in the AI Assistant Advanced customization, use the toggle to enable the static fallback message option and enter your customized message. Format as needed using the rich-text toolbar.

Liquid Template and User/Company Attributes

Each advanced customization settings field utilizes a Liquid template.

Add user/company attributes by enclosing them in double curly braces. User attributes are nested under user., company attributes under group., and company membership attributes under group_membership.. The term “group” is used here because it is the technical term we use for companies, just as you call userflow.group(companyId) in Userflow.js to associate a user with a company/group.

Example:

User attribute: {{user.example_attribute}}
Company attribute: {{group.example_attribute}}
Company membership attribute: {{group_membership.example_attribute}}

With Liquid, you can use control flows such as if/case, iterate through lists, format strings, and more. Refer to the Liquid documentation for additional information.

User feedback

You can add a feedback or rating mechanism to the end of AI Assistant replies, giving users the ability to provide feedback about the AI Assistant's results. Additionally, you can add your own messaging that will appear along with it.

  1. Select your Rating mode: None, Like/dislike, or Scale (CSAT).

  2. Enter placeholders and feedback messaging that will appear to users within the assistant interface when they provide feedback.

Assistant-level limits

Use assistant-level limits to help manage costs and mitigate potential abuse. You can set maximum message limits (per user per day and per rolling 30-day period) as well as daily per-user limits. Once any one of these limits is reached, the AI Assistant will be removed from your Resource Center. Setting a limit here impacts only the individual AI Assistant you are configuring. To set a limit across all AI assistants, use the Global Limit feature.

To learn more about these settings, refer to the AI Assistant usage limits and billing documentation.

User-facing texts

You have full control over the text that appears in your AI Assistant, allowing you to ensure that you use the tone and on-brand messaging that aligns with your users. Refer to the screenshots below as a reference for where the text you enter appears within the AI Assistant UI.