Assistant settings
When you create an AI Assistant, you can determine:
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) it automatically trains itself. If your site content changes frequently, be sure to set the auto-training more frequently. (Default is Never.)
Advanced Customizations
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.
Advanced customization is exclusively available on our Pro and Enterprise plans.
Below is a brief overview of these settings, followed by more detailed explanations:
AI engine: Indicates which GPT version will be used by the assistant. 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 - the assistant understands both.
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 on this new model is necessary.
How to update your AI Assistant to GPT-4o
Log in to Userflow and select AI Assistant from the sidebar.
Open your AI Assistant and select Advanced customization.
Select GPT-4o from the AI agent menu.
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.
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.