Tools & capabilities

Assistants can use multiple tools to answer your users. Here's how:

🪄 Tools enable you to enhance an assistant with various capabilities, allowing it to efficiently tackle complex scenarios by simultaneously carrying out multiple tasks.

With Multi-tool assistants:

  • If you choose to build an assistant with 0 tool: The assistant uses only the model to generate an answer.
  • If you build an assistant with several tools: The assistant evaluates the user request and deploy an appropriate combination of tools, selecting from none to several, with up to eight steps of processing.
Untitled

What tools can you choose from?

Data Source Tools

Data sources are managed by Builders and Admins of the workspace via Connections, Folders and Websites. Data Source tools allow the assistant to retrieve and use selected data as context to answer questions, using the different methods below:

How to configure it when building an assistantWhat the assistant will do
SearchSelect data from your Folders and Connections and describe what it is about.Perform a semantic search across the selected data to find the most relevant content and generate a response using this context.
Most recent dataSelect data from your Folders and Connections and describe what it is about.Include as much data as possible - starting with the most recent - until reaching the context size limit, and then generate a response using this context.
Extract DataSelect data from your Folders or Connections and define the desired data schemaSearch the selected data and extract information following the defined schema.
Learn more: Extract data
Query tablesSelect a database from your Folders or Connections, created from CSV files, gsheets or Notion databases.Convert the user’s question into an SQL query, run it against the database, retrieve results, and generate a response from this content.
Learn more: Table queries

Capabilities

New tool that does not require any Data Source to run:

How to configure it when building an assistantWhat the assistant will do
Web search & BrowseNo configuration required; simply enable this capability.Perform web searches to gather information and use it to generate responses.
Data visualizationNo configuration required; simply enable this capability.Become able to build graphs using the data it gathered.

Advanced Tools

Dust Apps are completely custom applications you can build to enhance your assistants in a limitless way.

How to configure it when building an assistantWhat the assistant will do
Run a Dust AppSee Introduction to Dust Apps.Execute the chosen Dust app using the provided context to generate an answer.

🪄

Define the tools and let the assistant decide which are relevant to your specific request.

Tips & tricks to maximize tools’ performance

Here are the things you can check as you go through the assistant building flow, from Instructions to Tools & Data sources:

Instructions screen

➡️ Clear and detailed instructions will ensure that your assistant selects the appropriate tools for each situation.

Consider describing potential scenarios your assistant might encounter and specifying which action should be used in each case, even when it feels obvious.

If you’ve enabled the Github connections and want to allow your assistant to access the code:

If someone asks you a question that requires understanding our internal codebase, you must search our internal codebase before answering.

If you’ve enabled some Data sources tools and Websearch:

If someone asks you about information related to the company (i.e., information that is not public knowledge that you already know about, or that is available on the public internet), you must retrieve it from the internal data sources. If someone asks you about general/public knowledge that might require information that is more recent than your knowledge cutoff date, it is very important that you execute a Google search first.

If you’ve enabled the Browse action:

You may use your 'Browse' action to read the actual content of web pages to gain more information. It is usually a good idea to read content from several relevant pages before attempting to reply. You should browse several pages simultaneously.

🪄

Use instructions to “script” your assistant. It is crucial not to overestimate the model's intuitive understanding; instead, treat it as if it were a highly informed yet naive child who requires detailed and clear explanations. 😄

Tools & Data sources screen

Screenshot 2024-06-24 at 11.11.45.png

➡️ Choose data sources judiciously for each action to ensure high-quality, relevant results, and provide a thorough description of the data you selected.

The assistant will provide better results if you select carefully the exact data that will be helpful for a specific assistant over an huge amount of data.

For example if you’re working on a customer service related agent, you can add a “Search” action and select the Customer Service documentation from your Notion Connection, and describe the data as is:

”This is the customer service documentation. Every thing here is the ground truth and this documentation is kept up to date. If you found some information here to answer a request, you can answer with confidence.”

And then add another “Search” action and select your Intercom connection to give it access to some specific categories of conversations, and say:

”This contains the closed Intercom conversations with your members. Keep in mind that especially if the conversation is old our process might have changed, and it concerns only a single member. The data in the Intercom notes are usually relevant, it’s usually that the customer service person asked help from a more experience colleague.”

➡️ Using Dust apps as tools? Make sure it holds a clear name and description so the assistant knows how to use it.

If you plan on using a Dust app in an action, we highly recommend carefully setting its name and description so it’s not a complete black box for your assistant. You can do so via the Settings of your Dust app. The assistant won’t know when and why to use it if it does not understand its purpose.

Also note that if the Dust app has no description at all, it won’t be selectable from the Assistant Builder.

🪄

The more context you provide your assistant regarding its prompt and action descriptions, the smarter it will operate! Easily iterate on your assistant's configuration by testing it from the assistant builder’s right panel modal.

What Use Cases Can Tools Unlock?

Below a couple of examples of assistants using multiple tools to execute complex tasks. They can all be found directly in Dust’s Templates Library, that you can use to kickstart a new assistant.

Examples of assistants using multiple tools

Examples of Dust Apps tools (Advanced tools)

🪄

Dust Apps allows you to execute code that can be run by assistants, which allows you to create custom tools for your assistants.

Please refer to our Developer Platform overview if you want to learn more about Dust Apps.

Transitioning legacy assistants

For legacy assistant using one action, we will still force the action to be executed. To transition your assistant to Tools, simply edit them and set a description to your action to migrate your assistant to Tools. The tool will not be forced to be run at each interaction with the assistant anymore. This may introduce a slight change in behavior. It is easy to emulate the legacy behavior of your assistant if you want to:

If your assistant is using a Data Source tool:

  1. Rename the tool with a more specific name (eg: search_engineering_resources) using the advanced settings in the action drawer.

    You can do so by going to Edit your assistant >  Tools & Data Sources > Clicking on your tool (Search, Extract Data, Query Tables, etc.) > Clicking on the ... on the top right-hand corner > change Name of the tool

    Untitled
  2. Provide an accurate description of the data in the Tool description section

  3. In Instructions, update the assistant’s instructions by adding the sentence:

    Always use the search_engineering_resources tool exactly once per user request.

If your assistant is using a Dust app tool:

  1. Edit the description of your Dust app if needed.

  2. In Instructions, update the assistant’s instructions by adding the sentence:

    Always use the {dust_app_name} tool exactly once per user request.