Detect trackers

You can detect trackers in real-time using Detect trackers in streaming conversations, or you can Detect trackers after the conversation.

Before detecting trackers, you need to select one or more trackers from the Managed Trackers Library or create your own Custom Trackers.

After selecting or creating trackers, you need to process a conversation. All trackers in Your Trackers are applied when you process a conversation. By default, trackers are enabled for all conversations.

Detect trackers after the conversation

You can detect trackers using the Conversations API Get conversation operation.

Authentication

Before using this API, you must generate your authentication token (AUTH_TOKEN) as described in Authenticate.

Use Case

You recently selected some trackers from the Managed Trackers Library. Then you processed a conversation and have the conversation ID. You need to see the which trackers were detected. Then you can analyze the results and decide if you want to edit one of the Managed Trackers or create your own custom tracker.

Get conversation

GET https://api.symbl.ai/v1/conversations/{conversationId}/trackers

Request parameter

ParameterDescription
Conversation IDRequired. The Conversation ID of any conversation processed after you added Trackers to Your Trackers.

To make a sample request directly from docs, see Get conversation.

Get conversation request

To detect Trackers using the Conversations API, use:

GET https://api.symbl.ai/v1/conversations/{conversationId}/trackers`

Example request:

import fetch from 'node-fetch';

const accessToken = '<ACCESS_TOKEN>';
const conversationId = '<CONVERSATION_ID>';


const fetchResponse = await fetch(`https://api.symbl.ai/v1/conversations/{conversationId}/trackers`, {
  method: get,
  headers: {
    'Authorization': 'Bearer ${accessToken}',
    'Content-Type': 'application/json'
  }
});

const responseBody = await fetchResponse.json();

console.log(responseBody);

Where:

  • <ACCESS_TOKEN> is a valid API access token.
  • <CONVERSATION_ID> is the conversationId of a previously processed conversation, such as 5704813242220544.

Get conversation response

[
    {
        "id": "5696807624507392",
        "name": "Symbl.Politeness",
        "matches": [
            {
                "type": "vocabulary",
                "value": "thank you for holding",
                "messageRefs": [
                    {
                        "id": "5736285873373184",
                        "text": "Thank you.",
                        "offset": -1
                    }
                ],
                "insightRefs": []
            },
            {
                "type": "vocabulary",
                "value": "Please",
                "messageRefs": [
                    {
                        "id": "6204786492833792",
                        "text": "Please correct me if I have gotten anything wrong.",
                        "offset": 0
                    }
                ],
                "insightRefs": [
                    {
                        "text": "Please correct me if I have gotten anything wrong.",
                        "offset": 0,
                        "type": "action_item",
                        "id": "4816122500087808"
                    }
                ]
            }
        ]
    },
    {
        "id": "5757332035207168",
        "name": "First Tracker ",
        "matches": [
            {
                "type": "vocabulary",
                "value": "Hello",
                "messageRefs": [
                    {
                        "id": "5073351849541632",
                        "text": "Hi.Hello.",
                        "offset": 3
                    }
                ],
                "insightRefs": []
            },
            {
                "type": "vocabulary",
                "value": "Hi",
                "messageRefs": [
                    {
                        "id": "5073351849541632",
                        "text": "Hi.Hello.",
                        "offset": 0
                    }
                ],
                "insightRefs": []
            }
        ]
    },
    {
        "id": "6293381870256128",
        "name": "Symbl.Upsell_Opportunity",
        "matches": [
            {
                "type": "vocabulary",
                "value": "We need to upgrade our plan",
                "messageRefs": [
                    {
                        "id": "4848106081353728",
                        "text": "We need to upgrade our plan.",
                        "offset": 0
                    }
                ],
                "insightRefs": []
            },
            {
                "type": "vocabulary",
                "value": "We need to deploy at scale",
                "messageRefs": [
                    {
                        "id": "6280979682426880",
                        "text": "We need to deploy at scale.",
                        "offset": 0
                    }
                ],
                "insightRefs": []
            },
            {
                "type": "vocabulary",
                "value": "We have high volumes",
                "messageRefs": [
                    {
                        "id": "6252116160020480",
                        "text": "We have high volumes.",
                        "offset": 0
                    }
                ],
                "insightRefs": []
            }
        ]
    }
]

Response fields

The following fields are returned in the response body.

FieldDescription
idThe Tracker ID, in the form of a unique integer string.
nameThe name of the detected Tracker, such as Symbl.Politeness.
matchesThe container for the following values of each detected Tracker.
typeThe type of data triggering the match is vocabulary.
valueThe phrase that triggered the match, such as thank you for holding.
messageRefsIdentifying information for the detected message, including the id, text, and offset.
insightRefsAny insights generated by the detected Tracker instance.

Detect trackers in streaming conversations

For streaming conversations, Symbl.ai uses the WebSocket protocol to process audio and provide conversation intelligence in real time. When you process a streaming conversation, all the Trackers in Your Trackers are automatically detected.

Before processing a streaming conversation, select one or more Trackers from the Managed Trackers Library or create your own Custom Trackers.

There are a few different methods of setting up your streaming conversations. For more information, see Streaming API.

After a streaming conversation ends and processing is complete, you can detect trackers using the Conversations API Get Conversation operation.

If you have interim results enabled as shown in the following example, you can detect trackers during the conversation.

Request body example

{
    "type": "start_request",
    "insightTypes": [
      "question",
      "action_item"
    ],
    "config": {
      "confidenceThreshold": 0.9,
      "speechRecognition": {
        "encoding": "LINEAR16",
        "sampleRateHertz": 44100
      },
      "meetingTitle": "Client Meeting",
      "trackers": {
        "enableAllTrackers": true, // default is true
        "interimResults": true // default is false
      }
    },
    "speaker": {
      "userId": "[email protected]",
      "name": "Jane"
    } 
}

Disable trackers

Trackers are enabled by default for all conversations. If you need to disable Trackers, change "enableAllTrackers": true to "enableAllTrackers": false in the preceding example.

Interim results

With interim results enabled, you can view trackers from transcripts in progress. Use interim results to detect trackers in time-critical situations before transcription is complete.

Interim results are disabled by default. To enable interim results, set "interimResults": true as shown in the previous example.

Response

{
    "type": "tracker_response",
    "trackers": [
      {
        "id": "4476908732794496",
        "name": "Documents",
        "matches": [
          {
            "value": "Documents",
            "messageRefs": [
              {
                "id": "53867534-0459-4d22-b590-984ee82166aa",
                "text": "Anyways, so I will submit documents tomorrow.",
                "offset": 26
              },
              {
                "id": "4d20d90c-50a7-4594-bb10-2995dcd4bbd1",
                "text": "I will submit documents tomorrow.",
                "offset": 14
              }
            ]
            "insightRefs": []
          }
        ]    
      }
    ]
}

Response fields

The following fields are returned in the response body.

FieldDescription
typeThe type of response, for Trackers the value is always tracker_response.
trackersEach detected Tracker is included with id, name, and matches.
idThe unique identifying integer for the Tracker.
nameThe name of the Tracker.
matchesMatches have a value corresponding to the Tracker name, followed by messageRefs and insightRefs.
messageRefsIdentifying information for the detected message, including the id, text, and offset.
insightRefsAny insights generated by the detected Tracker instance.