Dialogue Cloud

Dialogue AI Assist Voice Channel User Guide for Assistant Editors

Note

Dialogue AI Assist add-in features in WebAgent require an additional Deepdesk license from AnywhereNow.

Introduction

As an Assistant Editor, you will play a crucial role in the content available to your agents. We recommend that you read through the Dialogue AI Assist User Guide for Agents first to gain an understanding of how the different features you will maintain are used. You may also want to go through the tutorial or test things in the playground as you make changes.

Accessing the Deepdesk Dashboard

To access the Deepdesk Dashboard, please go to the following URL: https://[account].deepdesk.com. Please note that the exact URL is unique for your organization. For the exact URL, please reach out to your AnywhereNow representative.

Assistant Editor's Deepdesk Dashboard

The main role of a Deepdesk Assistant Editor is to maintain the content that is made available to the agents. In other words, the Assistant Editor ensures that Assistants perform the best support to agents and that the content of the Knowledge Assistants is always up to date.

Generative AI

The Generative AI section is where you can configure various settings regarding Assistants.

Assistants

Deepdesk Assistants can be used to manage and evaluate GenAI-powered assistants that are integrated with your CX Platform. These assistants leverage advanced artificial intelligence to enhance customer interactions, streamline workflows, and provide valuable insights into customer behavior. Whether it's answering customer questions, automating repetitive tasks, or providing real-time decision support, Assistants make interactions faster, more accurate, and more personalized.

This guide will help you create assistants in Deepdesk Studio with prompt instruction examples.

Assistant Configuration Fields

Assistant Name and Code

Choose a name and a code for your assistant. This is how you'll identify it later across different tools.

Note

The code needs to be unique for each assistant.

Assistant Instructions

Prompt

Give your assistant clear and specific instructions. Depending on the task, describe how to interpret input, what you want the Assistant to do, what you expect from an answer, or how to call tools. It is always good to include some example responses as well.

Tools

Select any other tools or assistants that your assistant can use to get tasks done and be more useful.

Assistant Settings

Response Format

Get the assistant's response in a structured format that's easy for other systems to read and use. You can choose between:

  • Plain Text

  • JSON Object

  • JSON Schema

    • Cues - required response format when you want the assistant to appear as a cue within the Dialogue AI Assist widget.

    • Knowledge Assist - required response format when call_knowledge_assist is used.

Toggles

  • Include Conversation Transcript: When enabled, the assistant will retrieve the conversation from the database and include the transcript in the prompt.

  • Silent Mode: When enabled, the assistant will perform its tasks without any visible output to the chat. This is useful for silencing the chatbot-style assistants that are customer-facing.

Model

Can be chosen from the list provided based on the LLM deployments that the customer has.

Condition

If there are any conditions for your assistant to work, they can be included in JSON format inside the condition field.

For example, if we need to validate the source_id for the conversation before evaluating the assistant, the condition can be:

Copy
JSON
{
    "==": [
        {
            "var": "source_id"
        },
        "SOURCE_ID"
    ]
}

Assistant Description and Parameters

Description

If an Assistant is going to be called by other assistants as a tool, you will need to provide a description. This helps the LLM to understand what the Assistant’s task is and if it’s useful to request it to perform its task.

Parameters

You can include any parameter that is useful or required as an input for this assistant to work.

For example, if we need to validate the source_id for the conversation before evaluating the assistant, the condition can be:

Copy
JSON
{
    "type": "object",
    "required": [
        "source_id"
    ],
    "properties": {
        "call_recommended": {
            "type": "string",
            "description": "The source_id of the interaction."
        }
    }
}

Conversation Assistant Operators

We have operators that can be triggered during different phases of a conversation to call different sets of assistants: when a conversation gets accepted by the agent, when there are new incoming messages in the conversation, when a conversation ends, and when a summary is needed for the conversation.

Each profile can have its own set of assigned assistants under Admin Settings → Profile → Settings:

Configuring a Conversation Assistant Operator

  1. Prompt for conversation-accepted, conversation-new-message, and conversation-ended operators look like the following:

    Copy
    Prompt
    # Task
    You are a helpful assistant supporting a customer service agent during an interaction. 
    Use the full transcript and assistant descriptions provided to determine if calling one of the available assistants is necessary. Only call an assistant if it is highly relevant.

    Available Assistants: 
    --list of the assistants that we want to call when the conversation is accepted.

    If you lack the parameters required to call an assistant, skip it. Do not ask for missing parameters. Call each assistant only once and provide a single response for each assistant. Avoid multiple or duplicate responses per assistant.

    Use only the assigned assistants; do not create new ones. If an assistant has previously provided a comparable response, reuse the older one.

    Exclude any responses from assistants that are "none," "{}", or equivalent. If a response seems irrelevant, omit it.
    If an assistant's response contains markdown, keep that intact.

    If none of the assistants seems relevant, or none have relevant output, say: "[]".

    Return the results as a list of objects with these keys:
    `code`: The function name
    `name`: The assistant's name
    `response`: The assistant's text response

    # Examples:
    Example 1: Three assistants were called; two responded with "none," and one provided a useful response:
    [
        {
            "code": "my-assistant",
            "name": "My Assistant",
            "response": "The client, John Smith, is experiencing issues with their wifi. They have tried resetting their router, but none of their devices can connect to the wifi network. They have provided their address as `123 Main Street`."
        }
    ]

    Example 2: Four assistants were called; two responded with "none," and two provided useful responses:
    [
        {
            "code": "how-to-assistant",
            "name": "How-to Assistant",
            "response": "The client, John Smith, is experiencing issues with their wifi. They have tried resetting their router, but none of their devices can connect to the wifi network. They have provided their address as `123 Main Street`."
        },
        {
            "code": "sentiment-assistant",
            "name": "Sentiment Assistant",
            "response": "The sentiment is neutral."
        }
    ]
                        
  2. Tools should include the assistants listed under “Available Assistants” in the prompt. More than one assistant can be assigned here.

  3. Under assistant settings, this operator should have the JSON Schema → Cues selected and have the “Include conversation transcript” toggle enabled.

  4. The model can be determined based on the LLM deployments that the customer has.

  5. Condition, description, and parameters can be left empty as {} since these conversation assistant operators will not be called by other assistants.

Configuring Summarizer Assistant

Per each profile, you can assign a dedicated summarizer assistant, provide the instructions, and enable the “Include conversation transcript” toggle for the assistant to work.

Using API with Assistants

APIs allow Assistants to interact with other systems, retrieve or send data, or trigger actions, extending the Assistant’s capabilities. Configure APIs and default headers like authentication headers, so you can make secure calls using the call_api and call_deepdesk tools.

Assistant API Code

Code

Choose a code for your assistant API. This is how you'll identify it later across assistants. The code needs to be unique for each assistant API.

URL

Configure the base URL required for each call.

Headers

Configure the headers required for each call. Headers are stored encrypted, so it’s safe to add tokens here.

There are three methods to authenticate APIs:

  • No Auth
  • OAuth2
    • Token URL
    • Client ID
    • Client Secret
    • Scope (optional) needs to be added for this method.
  • Auth Headers
    • Authentication headers need to be added for this method.

Using Tools with Assistants

You can add several tools to work with your assistant. There are some predefined tools that require specific prompt instructions to be added to be called from your assistant.

  • call_url
  • call_api
  • call_deepdesk
  • call_knowledge_assist
  • validate

call_url

If you need to make a call to a URL, add the call_url as a tool for your assistant and add the following instructions inside your prompt:

Copy
Prompt
Call the call_url tool:
- url: ##http://some.url.com/api/path
- method: ##the type of action you want to perform on the API server, e.g. GET
- headers: {"Authorization": "Bearer token"} ##if you do not need headers, this line can be deleted
- payload: ##any additional parameters that you want to include in the request.

call_api

If you need to make a call to an external API, add the call_api as a tool for your assistant and add the following instructions inside your prompt:

Copy
Prompt
Call the call_api function:
- path: ##the path of the endpoint, optionally with query parameters
- api_code: ##the unique code of the API you want to call
- method: ##the type of action you want to perform on the API server, e.g. GET
- headers: {"Content-Type": "application/json"} ##if you do not need headers, this line can be deleted
- payload: ##any additional parameters that you want to include in the request.

Note

An Assistant API should be created with the corresponding api_code to use this tool.

call_deepdesk

If you need to make a call to a Deepdesk API, add the call_deepdesk as a tool for your assistant and add the following instructions inside your prompt:

Copy
Prompt
Call the call_deepdesk function:
- path: ##the path of the endpoint, optionally with query paramaters
- method: ##the type of action you want to perform on the API server, e.g. GET
- headers: {"Deepdesk-Header": "foo"} ##if you do not need headers, this line can be deleted
- payload: ##any additional parameters that you want to include in the request.

Note

An Assistant API should be created with the corresponding api_code to use this tool.

call_knowledge_assist

If you need to make a call to a Deepdesk knowledge assist, add the call_knowledge_assist as a tool for your assistant and add the following instructions inside your prompt:

Copy
Prompt
Call the call_knowledge_assistant function. Always include all parameters.
- assistant_code: ##code of the Knowledge Assistant configured within Deepdesk
- question: {customer_question}
- conversation_id: {internal_conversation_id}

Reply only using the response, and avoid using general knowledge.
Avoid phrases like 'For more information, you can visit...'
If the function responds with "I don't know." then say "I don't know".

Always respond with the following JSON format:

    "response": <the response from call_knowledge_assist>, 
    "sources": [ 
        {"name": <name of the source>,"url": <url of the source>} 
    ]
}

validate

If you need to validate a set of data as part of your assistant's instructions, add the validate as a tool for your assistant and add the following instructions inside your prompt:

Copy
Prompt
Call validate function with the following logic and data:
- logic: ##needs to be JSON logic
- data: ##needs to be JSON logic

Additional Assistant Cue Formats

call_to_action

Call to action is an event listener for the assistants. The response value can be passed with the following format when included as instructions inside the prompt. This will also result in cues with call_to_action links.

Copy
Prompt

    { 
        "code": "my-assistant", 
        "name": "My Assistant", 
        "response": <response> 
        "call_to_action": { "label": "This is the call_to_action", "event": "my-assistant-called", "value": "{response}"} 
    }
]

Knowledge Assistants

Deepdesk Knowledge Assistants can be used as a source with your own data to provide useful information to users. The sources can be online resources like URLs, PDF sources you can upload, or you can upload directly via the API.

This guide will help you create knowledge assistants in Deepdesk Studio with prompt instruction examples.

Knowledge Assistant Configuration Fields

Knowledge Assistant Name and Code

Choose a name and a code for your knowledge assistant. This is how you'll identify it later across different tools.

Note

The code needs to be unique for each assistant.

Prompt Instructions

Instructions for the Knowledge Assistant on how to answer

Give your knowledge assistant clear and specific instructions.

Copy
Example instructions
Use the following pieces of context to answer the user's question. If you don't know the answer, just say that you don't know, don't try to make up an answer.

Instructions for the Knowledge Assistant respond in case it cannot provide a direct answer

Give your knowledge assistant instructions if they don't have the answer.

Copy
Example instructions
I don't know

Source Processing

Source Processing involves scanning and analyzing the online sources or PDFs you've added. This function extracts and comprehends information from these sources, enabling the Knowledge Assist feature to generate relevant responses. The duration depends on the size and complexity of the sources. Once complete, any changes to the sources will necessitate a new round of processing. You can start this process by clicking on 'Start Processing'.

Knowledge Assist Sources

Online Sources

Add URLs of publicly available sources, like your website or community page. Add one URL per line.

PDF Sources

These PDFs are exclusively accessible to Deepdesk users and cannot be shared or viewed by external parties, such as customers. Drag PDFs into the window to upload.

API

These documents have been uploaded via the API