Getting started with the Chat Conversations API

Have more questions? Submit a request

16 Comments

  • Jonas Dunkan

    Great update! Can't wait to get started with this!!

    I have a clarifying question that I hope you can help to elaborate. We are supporting customers in 10 languages, so we are a heavy user of departments and assigned chat routing. For us it is important to know more specifics about this limitation before we get started:

    Does not fully support Assigned chat routing. Assigned chat routing will only work if the agent that uses the Conversations API is the only agent in the department

    What is possible with chatbot and assigned chat routing? Can you give an example of a flow where the chatbot hands over the chat to a human?

    // all the best, Jonas

    2
  • Yu-Hsuan Chao

    Thanks Jonas!

    To answer your questions - a classic scenario is when you've deployed a chatbot, say, for customer support (FAQ) function and you put the bot in a dedicated department <FAQ Bot Department> and let all incoming visitor messages to go to the bot / department.

    The chatbot would greet and resolve FAQs that are already in the bot's KB / engine. When the bot can't answer a certain question, or when the visitor is unhappy with the answer provided by a bot, the bot then can show a list of departments for the end user to choose from and transfer the conversation to that selected department. 

    The limitations mentioned for bots + assigned chat routing is that currently, bot routing works on a department level (as opposed to more granular, individual agent skill level). All the transfers to/from a chatbot are working on a department-to-department level for now, and a chatbot wouldn't know it's supposed to pick up all the new conversations transferred into a department if it's sitting in the department along with other human agents.

    Hope this helps :)

    0
  • Zain Zohaib

    Can we see this feature in action, is there a demo available?

    0
  • Polomi Batra

    Hi Zain! You can sign up for a demo here: https://www.zendesk.com/chat/chatbot/

    0
  • Bliss

    Is subscription message from user chat a feature only available for Enterprise tier? Does the demo from the gist works with account with Professional? From the pricing Tier is "Real-Time API" the service required for doing this example?

    0
  • Christophe Chevalier

    This API is great and we were able to use it from a stand-alone Zendesk Chat account.

    Unfortunately, we did not succeed to use the OAuth authentication when the Zendesk Chat account was created in Zendesk Support.

    When we try to follow the OAuth documentation (https://developer.zendesk.com/rest_api/docs/chat/auth), we are asked to login to account.zopim.com for which we have no credentials.
    When we change the OAuth URL to use the Zendesk Support OAuth on a subdomain, we receive an error saying that the scope is invalid (for the "chat" permission).

    Can you please help us to solve this issue?

    Many thanks,

    0
  • Sutrisno Suryajaya

    Hi Cristophe!

    For Chat account that was created in Support, the authorization page URL should contain subdomain query string. For example, if your account subdomain is donut_store.zendesk.com, the URL will look something like this:

    https://www.zopim.com/oauth2/authorizations/new?subdomain=donut_store&<other query string stated in https://developer.zendesk.com/rest_api/docs/chat/auth#authorization-code-grant-flow>

    Hope it helps!

    1
  • Christophe Chevalier

    Many thanks Sutrisno for your help. Fixed the problem !

    1
  • Polomi Batra

    Hi ໃ_າ

    That's correct, this capability is available on the Chat Enterprise plan only. The Real-time API is different from the Chat Conversations API. In order to leverage chatbots in Zendesk Chat, you would need to be using the Chat Conversations API that is available on the Enterprise plan. 

    Hope that helps! 

     

    0
  • Rubén Vargas

    Hi, I'm trying to listen to chat activities with the chatActivity subscription. 

    My query is something like this:

    subscription {

                chatActivity(filter: {chat_activity_types: [MESSAGE, MEMBER_JOIN, MEMBER_LEAVE]}) {

                        node {

                           ... on MemberJoinLog {

                              id

                              user {

                                 display_name

                                 id

                              }

                              channel {

                                id

                                agents {

                                   edges {

                                      node {

                                         display_name

                                      }

                                   }

                                }

                              }

                           }

                           ... on MemberLeaveLog {

                              id

                              user {

                                 display_name

                                 id

                              }

                              channel {

                                id

                                agents {

                                   edges {

                                      node {

                                         display_name

                                      }

                                   }

                                }

                              }

                           }

                           ... on Message {




                                  id

                                  content

                                  channel {

                                    id

                                  }

                                  from {

                                    __typename

                                    display_name

                                  }

                                }

                             

                        }

                      }

            }

    But I don't seem to get it to work. I run it and I get a a proper response. Something like:

    {'errorCode': None, 'id': 2, 'payload': {'data': {'subscription_id': 'f0860418-d41d-47be-bd06-eeac66e8e765'}}}

    However, I don't get anything on my Websocket. According to the documentation, that subscription is used to "Subscribe to chat activities of channels that the agent
    # are serving or listening", but no other explanation is given, so I figured I could use it to be notified when an agent leaves or joins the conversations, is that right? 

    I would really appreciate help with this.


    0
  • Sutrisno Suryajaya

    Hi Ruben, could you post your technical questions in the Conversations API community forum (https://develop.zendesk.com/hc/en-us/community/topics/360000027708-Chat-Conversations-API)? Thank you 🙏

     

    0
  • Kanjanee Wongrungrojkij

    Hi we building bot-zendesk chat integration and try to follow OAuth documentation but wasn't sure what to put in for Redirect URL and why do we need to send the user to the Zendesk Chat authorization page?  

    0
  • Kyle Krcmaric

    Hi, I've been researching structured content support on Zendesk Chat, and came across this: https://api.zopim.com/web-sdk/#how-can-you-send-a-structured-message

    My goal is to build a Chat app that allows a human agent to send structured content into the chat with the customer. However, it appears that the Conversations API is chatbot focused, and if it fails can hand-off the conversation to a human agent via department transfer. 

    Is there no way for a human agent to insert structured content into the chat? I was looking at the Chat API, and it appears to only support simple text strings via chat.sendChat or chat.postToChatTextArea. 

    My ultimate goal would be to build a Chat app for a human agent that allows them to insert rich media / structured content into the chat with the customer.

    0
  • Jorge

    Hi there!

    My use case:

    We created a chatbot in angular, also we are using IBM Watson Assistant APIs and we are looking for to transfer the conversation to the live agent in some point using the ZenDesk APIs.

    Question:

    It's possible to use a customized chatbot created in angular in order to transfer a conversation to live agent with ZenDesk or it is mandatory the use of ZenDesk Widget?

    Regards,

    Jorge

     

     

    1
  • Sutrisno Suryajaya

    Hi Jorge, it is mandatory to use Zendesk widget because Chat Conversations API allows you to act as a Zendesk agent, which can converse with visitors that started a chat from the Zendesk widget.

    One possible setup that I can suggest is to make a bot agent using the Conversations API (it can use IBM Watson Assistant APIs), put the bot agent in a department and route all incoming chats from the widget to that department (reference). This way, all incoming chats will be served by the bot first. And then, the bot can transfer the conversation to a live agent using the transferToDepartment mutation. You can check the getting started guide above for more information.

    0
  • Dhanush

    Hi Everyone,

    Anybody worked on Dialogflow integration with Zendesk for Human-Handoff. If yes can you please guide me thru. I'm novice and couldn't understand the documentation.Thanks in Advance!

    Regards,
    Dhanush

    1

Please sign in to leave a comment.

Powered by Zendesk