AgentBot can seamlessly integrate with your Snypto inbox as a customer query handling bot. With Snypto, you can easily connect your custom bot logic to conversation handling via AgentBot's API.
By connecting AgentBot to your inbox, all new conversations will automatically be assigned a 'bot' status. Snypto will send conversation events to your bot URL as webhook events, allowing AgentBot to respond through the Snypto API in real-time.
How does the AgentBot work?
Explained below in a typical workflow of an AgentBot.
-
The AgentBot receives events such as
widget_triggered
,message_created
, andmessage_updated
based on customer interactions. -
The AgentBot processes the received information to generate an appropriate response.
-
The AgentBot can also utilize external system APIs to gather additional customer information, such as order status or booking triggers.
-
The AgentBot can utilize services such as Rasa, Dialogflow, or Lex for intent detection.
-
The AgentBot can post the generated response back into the widget by utilizing Snypto APIs such as
message_create
. -
The AgentBot can toggle a conversation status to open to hand off the conversation to a human agent.
-
It continues to monitor open conversations to provide contextual information to the support agent.
How does the Human-Agent handoff work?
When an agent bot is connected to an inbox, conversations are created with a "pending" status, allowing it to triage the conversation before passing it on to a human agent. If the bot determines that a human agent's assistance is needed, it can use the conversation update API to change the status to "open."
Sometimes the agents would want to push back a conversation which was handed off, back again into the bot queue. Agents can return a handed-off conversation to the bot queue by changing the status back to "pending”.
How can I use the AgentBot?
Listed below are a few examples.
-
Businesses with high volume customer support queries can utilize an AgentBot to authenticate and filter queries, reducing the workload on human agents and improving the efficiency of customer support.
-
E-commerce websites can integrate the AgentBot with their existing databases, providing customers with real-time updates on order and shipping status, as well as answering other related queries.
-
News and content websites can use the AgentBot to send recommendations to users via card messages.
-
Hotel and movie booking websites can use the AgentBot to handle bookings, reservations and answering related queries, providing customers with a seamless and convenient booking experience.
Examples
Also, look into interesting ways to leverage bot-message types on Snypto.
How to add AgentBots to Snyoto?
There are two types of AgentBots in Snypto.
-
Global Bots: Global Bots have a permission scope for all the accounts in a Snypto installation. They can interact with bot accessible endpoints in respect to any account in that installation.
-
Account Bots: Account Bots have a permission scope limited to the account for which the bot was created.
You can provision Agent Bots in Snypto either through our API or using Rails Console.
Creating agent bots via API
-
Global Bots can be created by interacting the agent bot APIs.
-
Account Bots can be created by interacting with the account bot APIs.
Creating agent bots via Rails console
Open your Snypto directory and ensure your local server is running. Start a rails console in your directory.
bundle exec rails c
Inside the Rails console, type the following commands to create an agent bot and get its access token. Save the retrieved token, as you would need to use in when calling the snypto APIs.
# specify a url when your bot logic resides
# pass account_id attribute to create an account bot instead of global bot
bot = AgentBot.create!(name: "Your Bot", outgoing_url: "http://localhost:8000")
bot.access_token.token
Add an avatar to your bot (optional).
avatar_file = Down.download("image url")
bot.avatar.attach(io: avatar_file, filename: avatar_file.original_filename, content_type: avatar_file.content_type)
Connect Agent Bot to your inbox by running the following command.
# Replace Inbox.first with Inbox.find(inbox_id) for specific inboxes
AgentBotInbox.create!(inbox: Inbox.first, agent_bot: bot)