Introduction

Within a Agent Inbox (formerly ROBIN) subscription, there are three ways to treat conversations. Two for written channels and one for Voice.
Because of the different nature of presence and availability between written and voice channels, two endpoints are provided to retrieve the right information.

Written channels

For written written conversations: instant (meaning 'live' or 'real-time') and non-instant (a custom SLA of anywhere between 1 minute and e.g. a couple of days). In order to answer conversations in real-time you need to offer real-time availability. We call this 'presence'.

Voice channel

Voice in Agent inbox uses a third way: queueing. The Voice channel uses a queue per webstore.
When no agent is available to pick up the call as it comes in, the call is parked in the queue of the webstore, waiting for an Agent to become available.

As a queue builds up, one can expect waiting time before being connected to an Agent. A well known-use case is to adapt the customer journey so that either calls are being deflected to another channel and/or expectations of the customers are managed by announcing the current waiting time and/or length of the queue.

Presence Check for written channels

With this end-point you can check presence for a specific written channel within' your Agent Inbox subscription. When you define a referrer, you can then also check presence for a specific web store.

GET https://presence.robinhq.com/api/v1?apikey=<apikey>&Channel=<channelName>&referrer=<referrer>

Parameters

NameRequiredDescription
apikeyYesThe apikey of your subscription
ChannelYesThe name of the channel (Email, Chat, WhatsApp, SMS, WebChat, Facebook Messenger, Instagram, Apple Business Chat, Twitter, Google Business Messages and RCS)
referrerNoThe referrer that are configured within a web store (URLs, e-mail addresses phonenumbers, bot variables)

Response codes

CodeDescription
200OK
400Bad Request
404Not Found

Response body

Online or Offline

Response schema

NameDescription
OnlineAt least one agent connected to the requested channel within the web store has an online status
OfflineAll agents connected to the requested channel within the web store have an offline status

Presence and Queue check for Voice

With this endpoint you can retrieve the status of the Voice workload and workforce. The check should always be scoped to a specific webstore, therefore in

The information retrieved from this endpoint can either be used in the telephony menu (IVR) or at other points in the customer journey, for example on the Contact/Support page on your website where you communicate your company's phonenumber.

When used in an IVR, you can make business decisions like offering call deflection to another channel or announce the current length of the queue.

GET https://native-voice-api.robinhq.com/api/v1/QueueInformation?apiKey=<apikey>&phonenumber=<phonenumber>&referrer=<referrer>

Parameters

NameRequiredDescription
apikeyYesThe apikey of your subscription
referrerYesThe referrer that is configured within a web store (URL, e-mail address phonenumber, bot variable)

Response codes

CodeDescription
200OK
400Bad Request
404Not Found

Response body

{
  "webStoreOpen": true,
  "activeAgents": false,
  "availableAgents": false,
  "numberOfQueuedCalls": 0,
  "longestWaitingQueuedCallDateTime": null,
  "longestWaitingQueuedCallInSeconds": null
}

Response schema

NameTypeRequiredDescription
webStoreOpenBooleanYesIndicates whether the webstore is currently open for Native Voice based on the service hours configuration
activeAgentsBooleanYesIndicates whether there is any agent within the webstore that has Voice status set to Active
availableAgentsBooleanYesIndicates whether there is any agent within the webstore that is available to take calls.
numberOfQueuedCallsIntegerNoThe number of calls that are currently in the waiting in the queue of the webstore.
longestWaitingQueuedCallDateTimeDateTimeNoThe date and time of when the longest waiting call entered the queue
Returns null whenever no calls are waiting in the queue
longestWaitingQueuedCallInSecondsIntegerNoThe number of seconds that the longest waiting call is in the queue
Returns null whenever no calls are waiting in the queue