Skip to contentSkip to navigationSkip to topbar
On this page
Looking for more inspiration?Visit the
(information)
You're in the right place! Segment documentation is now part of Twilio Docs. The content you are used to is still here—just in a new home with a refreshed look.

IBM Watson Assistant Source


Source Info
  • The IBM Watson Assistant Source is an Event Cloud source. This means that it sends data as events, which are behaviors or occurrences tied to a user and a point in time. Data from these sources can be loaded into your Segment warehouses, and also sent to Segment streaming destinations. Learn more about cloud sources.
  • This integration is partner owned. Please reach out to the partner's support for any issues.

IBM Watson Assistant(link takes you to an external page) uses artificial intelligence that understands customers in context to provide fast, consistent, and accurate answers across any application, device, or channel. You can use Watson Assistant to quickly build a customized AI chatbot and deploy it on your website, over the phone, or to any other channel your customers use.

This is an Event Cloud Source, which can not only export data into your Segment warehouse, but can also federate the exported data into your other enabled Segment Destinations.

This source is maintained by IBM. If you have any issues with the source, see the Watson Assistant documentation(link takes you to an external page) for information about how to get help.


Getting Started

getting-started page anchor
  1. From your workspace's /sources page, click Add Source.
  2. Choose IBM Watson Assistant and click Connect.
  3. In the Name field, specify a descriptive name for the source (for example, Customer Care Chatbot). This name will be used to identify the source in the Segment user interface.
  4. Click Create.
  5. Click Copy to copy the Segment write key to the clipboard.
  6. In the Watson Assistant user interface, open the Segment integration settings. (For more information about adding the Segment integration to your assistant, see Sending events to Segment(link takes you to an external page).)
  7. In the Connect step, paste the write key into the Segment key field.
  8. Click Connect.
  9. In the Select events step, select the events you want to send to Segment. Click Next.
  10. Review the configuration and click Done.

The table below lists events that Watson Assistant sends to Segment. These events appear as tables in your warehouse, and as regular events in other Destinations. Only events generated using the v2 API and associated with a user ID are included.

Event NameDescription
Message HandledSent when the assistant completes handling of a message.
Session StartedA new session was started with an assistant.
Action StartedProcessing of an action (including subactions) began.
Action CompletedProcessing of an action (including subactions) ended.

The tables below list the properties included in the events listed above.

Message handled

message-handled page anchor
PropertyTypeDescription
accountIdStringThe ID of the IBM account.
assistantIdStringThe ID of the assistant.
browserStringThe browser that was used to send the message.
channelStringThe channel the customer used to send the message (for example, phone or chat).
deviceStringThe type of device that was used to send the message.
environmentStringThe environment in which the message was handled (such as draft or live.)
languageStringThe language of the assistant.
pageUrlStringThe URL of the web page from which the message was sent.
serviceInstanceStringThe IBM Watson Assistant service instance.
sessionIdStringThe ID of the session during which the message was handled.
skillsInvokedString[]An array of strings listing all skills that were invoked during handling of the message (for example, main skill or actions skill).

The following properties are included only for messages that were handled by an actions skill:

PropertyTypeDescription
actionStringThe unique identifier of the action that was visited during handling of the message (for example, action_202).
actionCompletedBooleanWhether the action completed during handling of the message.
actionCompletedReasonStringThe reason the action completed (for example, all_steps_done or fallback.)
actionStartedBooleanWhether processing of the action started during handling of the message.
actionTitleStringThe title of the action that was visited during handling of the message (for example, I want to pay my bill).
actionsVisitedString[]An array of strings listing the actions visited during handling of the message.
fallbackReasonStringThe reason why the fallback action was visited (for example, escalated to human agent or no action matches).
handlerStringThe name of any handler that was called.
stepsVisitedString[]An array of strings listing the steps visited during handling of the message. Each step name is prefixed with the action name.
subactionStringThe name of any subaction that was called during handling of the message.

The following properties are included only for messages that were handled by a dialog skill:

PropertyTypeDescription
branchExitedBooleanWhether the dialog branch was exited during handling of the message.
branchExitedReasonStringThe reason the dialog branch was exited (for example, completed).
nodesVisited String[]An array of strings listing the dialog nodes visited during handling of the message. For each dialog node, the string specifies the node title (if any) or the node ID.
PropertyTypeDescription
accountIdStringThe ID of the IBM account.
actionStringThe unique identifier of the action (for example, action_202).
actionTitleStringThe title of the action (for example, I want to pay my bill).
actionCompletedBooleanWhether the action completed during the same conversation turn.
actionCompletedReasonStringThe reason the action completed (for example, all_steps_done or fallback.)
assistantIdStringThe ID of the assistant.
browserStringThe browser that was used to send the message that triggered the action.
channelStringThe channel the customer used to send the message that triggered the action (for example, phone or chat).
deviceStringThe type of device that was used to send the message that triggered the action.
environmentStringThe environment in which the action was started (such as draft or live.)
fallbackReasonStringThe reason why the fallback action started (for example, escalated to human agent or no action matches).
handlerStringThe name of any handler that was called.
languageStringThe language of the assistant.
pageUrlStringThe URL of the web page from which the message that triggered the action was sent.
serviceInstanceStringThe IBM Watson Assistant service instance.
sessionIdStringThe ID of the session during which the message that started the action was sent.
skillsInvokedString[]An array of strings listing all skills that were invoked during handling of the message that started the action (for example, main skill or actions skill).
stepsVisitedString[]An array of strings listing the steps visited during processing of the action.
subactionStringThe name of any subaction that was called.
PropertyTypeDescription
accountIdStringThe ID of the IBM account.
actionStringThe unique identifier of the action (for example, action_202).
actionCompletedReasonStringThe reason the action completed (for example, all_steps_done or fallback.)
actionStartedBooleanWhether the action was started during the same conversation turn.
actionTitleStringThe title of the action (for example, I want to pay my bill).
assistantIdStringThe ID of the assistant.
browserStringThe browser that was used to send the message that triggered the action.
channelStringThe channel the customer used to send the message that started the action (for example, phone or chat).
deviceStringThe type of device that was used to send the message that triggered the action.
environmentStringThe environment in which the action completed (such as draft or live.)
fallbackReasonStringThe reason why the fallback action was called (for example, escalated to human agent or no action matches).
handlerStringThe name of any handler that was called by the action.
languageStringThe language of the assistant.
pageUrlStringThe URL of the web page from which the message that triggered the action was sent.
serviceInstanceStringThe IBM Watson Assistant service instance.
sessionIdStringThe ID of the session during which the message that started the action was sent.
skillsInvokedString[]An array of strings listing all skills that were invoked during handling of the message that started the action (for example, main skill or actions skill).
stepsVisitedString[]An array of strings listing the steps visited during processing of the action.
subactionStringThe name of any subaction that was called by the action.
PropertyTypeDescription
accountIdStringThe ID of the IBM account.
assistantIdStringThe ID of the assistant.
browserStringThe browser that was used to send the message that started the session.
channelStringThe channel that started the session (for example, phone or chat).
deviceStringThe type of device that was used to send the message that started the session.
environmentStringThe environment in which the session was started (such as draft or live.)
pageUrlStringThe URL of the web page from which the message that started the session was sent.
serviceInstanceStringThe IBM Watson Assistant service instance.
sessionIdStringThe ID of the session.

Note: The v2 stateless API does not generate events for starting or ending sessions.


Now that your Source is set up, you can connect it with Destinations.

Log in to your downstream tools and check to see that your events appear as expected, and that they contain all of the properties you expect. If your events and properties don't appear, check the Event Delivery tool, and refer to the Destination docs for each tool for troubleshooting.

If there are any issues with how the events are arriving to Segment, see the Watson Assistant documentation(link takes you to an external page) for information about how to get help.