Free cookie consent management tool by TermsFeed

Data Fabric Chatbot

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.

See also:

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

This component answers questions only about the record types specified in the recordTypes parameter. If the data spans across related record types, ensure you include direct references to 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.

This component doesn't support references to record type relationships. See an example 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.

Mobile devices

This component is supported on mobile devices when accessed via web browsers, but not supported on Appian Mobile.

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.

This component is available only on Appian Cloud. Self-managed customers don't have access to this feature.

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 object 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.

Design recommendations and compatibility

This component can't be used in a side by side layout.

This component works best when it takes up the full height of a page. We recommend using it inside a pane component (see example below). 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.

Examples

To experiment with examples, copy and paste the expression into an interface object.

This example demonstrates how you could enable your users to answer questions about the Support Case record type and its related record types.

Note:  This component answers questions only about the record types specified in the recordTypes parameter. If the data spans across related record types, ensure you include direct references to all relevant record types in the parameter. This component doesn't support references to record type relationships.

The following SAIL shows this component inside a pane and using full screen. Because this component appears best in a larger layout, you may want to integrate controls that show or hide the chat window. For example, you may have the main content on one pane and a button or link that shows and hides a!dataFabricChatField in another pane.

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
/* We recommend implementing this component using a pane layout */
a!paneLayout(
  panes: {
    a!pane(
      contents: {
        a!dataFabricChatField(
          title: "Chat with Support Cases",
          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"
        )
      }
    )
  }
)
Copy

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"
        )
      }
    )
  }
)
Copy

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.

For example, 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"
        )
      }
    )
  }
)
Copy

Feature compatibility

The table below lists this component's compatibility with various features in Appian.
Feature Compatibility Note
Portals Incompatible
Offline Mobile 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 Compatible

Feedback