How Bots work with SMM Response

Khoros Alumni (Retired)

I've had conversations with people about how Bots "work with SMM Response" - and thought I'd start a discussion about it here. My initial explanation is as follows – first at a business level and then a technical level.  Please comment / question as you have thoughts - we can go as deep as you want.

This isn't meant to replace the bot overview or the technical api doc.

Business Level

If a bot is registered with Lithium for a particular messenger handle (page), then:

  • Lithium assumes the bot is handling every new conversation for a user *until* the bot tells Lithium that an agent should be involved.
  • The bot (should) assumes Lithium is handling every message for that user *until* Lithium tells the bot that the agent is done.

Lithium and the bot can still “see” every message. In Lithium for example, supervisors (or anyone given permission) can see conversations (and their analytics) that the bot is having  prior to the bot "handing it off" to an agent.

Note: As the bot is developed, it needs to understand that Lithium exists and integrate with the Lithium Bot API, and when a bot is deployed, the configuration in Lithium has to be set-up to provide the workflow above. (Lithium offers assistance  through a services / fast-track offering).

Configuration / Technical Level

Lithium and the bot are both independently connected to the messenger API receiving messages and responses.

There are two primarily API interactions that matter – the bot telling Lithium that it is handing off to an agent, and Lithium telling the bot that the agent is done. This determines who is responsible for making sure the customer gets a response (and again, Lithium analytics can surface any conversation that a bot is responsible for that isn't getting a response.

In Lithium, the mechanics of the business scenario described above are simply that Lithium applies tags to conversations that have bot interactions and these tags change based on the API calls. For example, when a bot tells Lithium it is time for an agent to get involved (we call this a “bot hand-off”), a “Bot Hand-off” tag gets applied to the conversation and routing rules are re-run. Standard routing rules can then cause the conversation to be routed to a queue that has agents assigned to it.  Prior to this, the bot conversation still exists in Lithium and was routed to a queue, but the routing rules (should) have had it routed it to a queue that agents don’t belong to.

What isn't clear? Do you have questions?  Are there bot-related questions?