View this page in the latest version of Appian. Data Fabric Chatbot Component Share Share via LinkedIn Reddit Email Copy Link Print On This Page The capabilities described on this page are included in Appian's advanced and premium capability tiers. Usage limits may apply. Tip: Data fabric chatbot is available as a preview. Preview features are fully supported; however, they do not reflect the full functionality or performance of the feature yet. Appian will respond to support issues and will maintain backwards compatibility in future updates. Function a!dataFabricChatField( title, instructions, helpTooltip, suggestedQuestions, recordTypes, userNameFormat, showWhen, placeholder, debugMode ) Creates a chatbot for chatting with your data fabric. This component uses Appian AI Copilot to answer questions about your data fabric, enabling users to interact with conversational AI to get quick insights. This component requires no third-party integration to get started. All you need to do is configure the parameters to begin chatting with your data fabric. Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to close See also: About Record Types AI Copilot for data fabric AI Copilot Parameters Name Keyword Types Description Title title Text The title to be displayed in the bar above the chat. Default: Data Fabric Chatbot Instructions instructions Text Provide optional instructions asking the model to return output specific to your business's preferred format, logic, or other requirements. Help Tooltip helpTooltip Text Displays a help icon with the specified text as a tooltip. Suggested Questions suggestedQuestions List of Variant Displays up to three suggested questions for users when they first use the chat. If not specified, no questions are shown. You can provide an array of questions using the a!suggestedQuestion() function. Record Types recordTypes List of Variant A reference to one or more record types. You can reference up to 250 record types using the recordType! domain. This component answers questions only about the record types specified in this parameter. If the data spans across related record types, ensure you include all relevant record types in the parameter. For example, to determine which customer has purchased the most products, you must reference the Customer, Order, and Product record types. User Name Format userNameFormat Text The format of the username used in Appian. For example: firstName.lastName, or firstName.lastName@myCompany.com. Works when conversing across multiple record types. Default: firstName.lastName. Show When showWhen Boolean Determines whether the component is displayed on the interface. When set to false, the component is hidden and is not evaluated. Default: true. Placeholder placeholder Text Initial text shown in the paragraph where the user enters a question. Default message: Ask a question about your data. Debug Mode debugMode Boolean Outputs the large language model's thoughts as it answers a question. This can help when trying to improve accuracy. Usage considerations Tip: This capability may be compatible with languages other than English. Learn more using AI with multiple languages. Supported record types The data fabric chatbot can only chat with record types that are available as datasets in Process HQ. Additionally, these record types should follow data fabric best practices like: Including meaningful metadata, like having clear and unique names for the record type, fields, and relationships. Creating bi-directional relationships between record types. Creating custom record fields to answer specific or common questions. Applying record-level security to ensure users only have access to the records they need. See Build Your Best Data Fabric for a full list of best practices and recommendations. Referencing related record types This component answers questions only about the record types specified in the recordTypes parameter. If the data spans across related record types, you must include direct references to all relevant record types in the parameter. This component doesn't support references to record type relationships. For example, to determine which customer has purchased the most products, you must reference the Customer, Order, and Product record types. See an example expression below. Using the suggestedQuestions parameter The suggestedQuestions parameter allows you to display up to three suggested questions for users when they first use the chat. These suggested questions can be helpful examples for users who aren't sure what kind of questions to ask of their data fabric. To configure these questions, you must use the a!suggestedQuestions() function. This function includes the following parameters: Name Keyword Types Description Icon name iconName Text Icon to display. See the Rich Text Icon page for available icons. Icon color iconColor Text Specifies the color of the icon. Valid values: any valid hex color or predefined values like "STANDARD" (default), "ACCENT", "POSITIVE", "NEGATIVE", or "SECONDARY". Question question Text Displays a suggested question. Users can click the question to submit it. See an example below. Unsupported characters in record type names The data fabric chatbot doesn't support record types with certain characters in their names. Characters like [, ], }, ), and , are technically allowed; however, record types with these characters can't be used with the data fabric chatbot. These characters prevent the chatbot from responding. Names that begin and end with a quote are also unsupported. You can include quotes—single ('), double ("), or backtick (`)—in record type names, but the name can't be fully enclosed in quotes. Enriching chat queries with semantic search The data fabric chatbot can provide more relevant and comprehensive answers by going beyond simple keyword matching. This enhanced capability is powered by smart search, which uses it's semantic search capability to understand a user's intent. A traditional keyword search looks for exact matches to the words in a query. For example, a search for "car" will only find records containing the word "car". It would miss records that use related terms like "vehicle" or "automobile". In contrast, semantic search understands the meaning behind the words. It recognizes that "car", "vehicle", and "automobile" are conceptually related. This allows the chatbot to return more accurate and complete results, even if the user's query doesn't contain the exact keywords present in the data. How to use semantic search in data fabric chatbot By default, if you use a record type with smart search enabled in a data fabric chatbot, then semantic search is automatically applied to data fabric chat queries. Semantic search example Imagine you are using the data fabric chatbot to search through IT support cases and you want to find all cases related to computer monitors not working. User query: Cases about a display being broken Keyword search results: A keyword search would look for the exact words "display" and "broken." It might miss relevant cases with descriptions like "The screen is black" or "My monitor won't turn on." Semantic search results: Semantic search understands the user's intent. It recognizes that "display being broken" is semantically related to concepts like "screen", "monitor", "black screen", and "won't turn on." The chatbot would therefore return a more complete list of relevant cases, providing a more helpful and intuitive user experience. Common questions Question Answer Why isn't semantic search working? If your chat queries are not returning semantic results, verify the configuration of the source record type. The fields you are searching against must be enabled for smart search and be indexed. Can I disable semantic search? No, you can't disable semantic search for the chatbot directly. It is automatically applied to queries using the includes operator whenever a searched field is enabled for smart search in the record type. Reliability of responses Generative AI features are designed to assist you, but like any tool, they might occasionally produce responses that are inaccurate or unexpected. While we strive for accuracy, it's a good idea to double-check the information in chat responses to ensure it meets your needs. This component may not provide consistent answers. In other words, the response the component provides today might differ from an answer to the same question with the same data tomorrow. Note: AI tools are primarily designed for language-based tasks, such as generating text, answering questions, or providing insights. While AI Copilot for data fabric can assist with obtaining numerical answers, other AI Copilot tools are not optimized for performing precise mathematical calculations or for scenarios that require numerical accuracy. Compliance This component is powered by private AI, meaning that your inputs and outputs are protected and remain within the boundaries of your Appian Cloud site at all times. You will receive the following error until the feature is enabled on your site: This function is currently unavailable. Please contact your system administrator if this problem persists. This feature is available for environments in select regions. If your Appian environment isn't in a supported region, you can elect to send your data to a supported region. This doesn't change your environment's region. Contact Appian Support to learn more. Security This function enforces record type security, record-level security, and field-level security, ensuring that users can only interact with data they are authorized to access when using the data fabric chatbot. If the chatbot isn't returning expected information, you should review the record-level and field-level security configured on the record type. Design recommendations and compatibility The data fabric chatbot component appears best in a larger layout, so we recommend displaying it inside a pane component, like in the examples below. Then, you can configure the pane layout to show or hide the chat window as needed. For example, you could have the main content on one pane and a button or link that shows and hides a!dataFabricChatField in another pane. If you add other components above or below this one, the page will expand instead of showing a toolbar inside the component. This behavior is intentional and aligns with the recommendation. This component can't be used in a side by side layout. Appian Mobile and Appian for Windows considerations This component is not supported in the Appian Mobile or Appian for Windows apps. To use records chat, view the interface in a browser. Examples To experiment with these examples, copy and paste the expression into an interface object. Note that record type references are specific to each environment, so you'll need to replace these example references with references from your own applications. Related record types This example demonstrates how you could enable your users to answer questions about the Support Case record type and its related record types, like case status, priority, type, and comments. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 a!paneLayout( panes: { a!pane( contents: { a!dataFabricChatField( title: "Chat with Support Cases", /* All record types are individually referenced */ /* instead of using relationship references */ recordTypes: { recordType!SupportCase, recordType!SupportCaseStatus, recordType!SupportCasePriority, recordType!SupportCaseType, recordType!SupportCaseComments }, suggestedQuestions: { a!suggestedQuestion( iconName: "list", iconColor: "#000000", question: "List all in progress support cases" ), a!suggestedQuestion( iconName: "calculator", iconColor: "#000077", question: "Provide a count of support cases by priority" ), a!suggestedQuestion( iconName: "clock", iconColor: "#0000FF", question: "Provide a count of support cases by year and month" ) }, placeholder: "Ask a question about your data" ) } ) } ) Related record types that are multiple relationships away This example demonstrates how to enable users to answer questions about SupportCases and multiple nested relationships. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 a!paneLayout( panes: { a!pane( contents: { a!dataFabricChatField( title: "Chat with Support Cases", recordTypes: { recordType!SupportCase, recordType!SupportCaseStatus, recordType!SupportCasePriority, recordType!SupportCaseType, recordType!SupportCaseComments, recordType!User, /* Related to the SupportCase record type */ recordType!Department, /* Related to the User record type */ recordType!Task /* Related to the SupportCase record type */ }, suggestedQuestions: { a!suggestedQuestion( iconName: "list", iconColor: "#000000", question: "List all in progress support cases" ), a!suggestedQuestion( iconName: "calculator", iconColor: "#000077", question: "Provide a count of support cases by priority" ), a!suggestedQuestion( iconName: "clock", iconColor: "#0000FF", question: "Provide a count of support cases by year and month" ) }, placeholder: "Ask a question about your data" ) } ) } ) Record types that aren't related This example demonstrates how to enable users to answer questions about SupportCases and record types that aren't related. This may be useful when your users are looking for information that spans across multiple applications and no relationships exist between the record types and data of interest. In the example below, the component is configured to primarily give information about support cases, but it also includes record types that aren't related to SupportCase, such as Employee and Location. Users can ask questions about support cases, but they can also specifically ask for support cases related to products, employees, departments, and locations. With this component, the app developer doesn't need to create these relationships to enable customers to ask these types of specific questions. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 a!paneLayout( panes: { a!pane( contents: { a!dataFabricChatField( title: "Chat with Support Cases", recordTypes: { recordType!SupportCase, recordType!SupportCaseStatus, recordType!SupportCasePriority, recordType!SupportCaseType, recordType!SupportCaseComment /* Examples of unrelated record types */ recordType!Product, recordType!Employee, recordType!Department, recordType!Location }, suggestedQuestions: { a!suggestedQuestion( iconName: "list", iconColor: "#000000", question: "List all support cases the CIO department has in progress" ), a!suggestedQuestion( iconName: "calculator", iconColor: "#000077", question: "Provide a count of support cases by location" ), a!suggestedQuestion( iconName: "clock", iconColor: "#0000FF", question: "Provide a count of high-priority support cases by employee" ) }, placeholder: "Ask a question about your data" ) } ) } ) Feature compatibility The table below lists this component's compatibility with various features in Appian. Feature Compatibility Note Portals Incompatible Offline Interfaces Incompatible Sync-Time Custom Record Fields Incompatible Real-Time Custom Record Fields Incompatible Custom record fields that evaluate in real time must be configured using one or more Custom Field functions. Process Reports Incompatible Cannot be used to configure a process report. Process Events Incompatible Cannot be used to configure a process event node, such as a start event or timer event. Process Autoscaling Incompatible Cannot be used in autoscaled processes. Event Consumer Filter Conditions Compatible Can be used in filter conditions. Event Consumer Event Handlers Compatible Can be used in event handler expressions. Feedback Was this page helpful? SHARE FEEDBACK Loading...