Regular readers will be more than familiar with our work on Conversational AI and our reference in SimCron6 to agents now being available on the Hosted platform.
Let me clarify what this means. All agent logic exists at the Carrier Services level of our network and our customers who operate their own platforms can consume it via the appropriate portal or APIs, on any numbers on their account or even those with third party carriers via BYoC. Our whitelabel Hosted platform, and indeed the direct to market Nimvelo instance of it, enable customers of our white label partners, or direct SME customers to now consume it.
Our Hosted solution builds directly on top of our Carrier Services, with no special privileges, so can be considered an exemplar for what our Carrier Services customers could build into their own platforms. When it comes to data, our Carrier Services platform seeks to hand off your data as quickly as possible as we do not retain call recordings or transcripts on there. The Hosted platform receives these using the same webhooks available to customers, and does indeed retain them for the purposes of indexing, search and user interface.
You’ll hopefully have seen many demos of what the agents are capable of on Mr Duffett’s world tour, and we’re developing that all the time, such as the recent addition of pre- and post-call webhooks which add massive powers – see the blog or watch SimCron6 for more. However, every man and his dog seem in Silicon Valley to be claiming to work on Conversational AI, so much so that cutting through the noise can be challenging. But, there’s a couple of issues with what we have seen out there:
- Telephony integration is either completely absent or, frankly, rubbish
- How can my local plumber consume it? Answer: he can’t, unless happens to be or know a DevOps engineer.
We think we’re fixing both of these issues. Telephony is what we do and our telephony integration is deep and best in class. Now, by adding Conversational AI to Hosted, we’re making it available to the man in the street through a simple wizard based interface. Literally anyone can create an agent for their business now, and the wizard brings expert prompting for specific verticals, taking away the hardest part. It is so easy, any idiot could do it, even me!
Let’s give it a go! For those enrolled on the Hosted beta programme (which also ties access to nominated end-user accounts) you’ll see a new tab called Virtual Agents, and a big button to add a new one:
Selecting ‘Business Agent’ and clicking next gives a list of industries. I’ll choose ‘technology’ and then specify a role for the agent – ‘Answering Service’ in my case. There’s loads of other options from technical support through to lead qualification. All of this information helps us generate the most appropriate instructions (a.k.a prompt) for the agent. That is pretty much it – all that remains is to give it a name, an extension number if the default is no good, a purpose and a supporting website. The website is essential if the role of the agent is to give information about your business as without it it cannot answer questions, but with it it can be a fully informed and helpful assistant. The website could equally be your knowledgebase if the role is support or something more technical – the more you tell it, the more it’ll know. I don’t need a website for mine as I literally just want it to screen and take messages on calls to my direct number. For the main goal for mine I’m simply going to say:
Answer calls to Simon Woodhead's number (when he is unavailable or doesn’t recognise the caller) and take messages with caller name, number and a summary of what they want to talk about. Simon doesn't take unsolicited sales calls so if it sounds like they're trying to sell something, politely tell them you'll pass the message on but it is unlikely Simon will call them. Obviously, if they are a Simwood customer or someone Simon is already talking to, he’ll get back to them as soon as he can.
That’s it! My agent ‘Steph’ now exists on extension 800. She can be dialled directly but before we do, let’s checkout the settings as there’s a few things we’ll want to change. Firstly, Steph needs a ‘first message’ what she says when answering the call – this is blank by default given she could also make outgoing calls (something for another day), but we’re changing that to a more sensible default – I’m just going to set ‘Hi this is Simon’s phone, Steph speaking, can I help?’. Also note the prompt, which was created from the wizard and in this case is perfectly comprehensive, including some sensible guardrails:
```markdown
# Personality
You are an AI assistant answering calls on behalf of Simon Woodhead.
You are polite, efficient, and discerning.
Your role is to take accurate messages and filter out unwanted sales calls.
# Environment
You are answering incoming phone calls to Simon Woodhead's direct number.
Simon is often unavailable or may not recognize the caller's number.
You do not have access to Simon's calendar or contacts.
{{system__caller_id}} contains the caller's phone number.
# Tone
Your tone is professional and helpful.
Be concise and avoid unnecessary conversation.
Use polite language, but be firm when declining unsolicited sales calls.
# Goal
Your primary goal is to answer calls for Simon Woodhead and either take a message or politely decline sales calls.
1. Identify the caller and their purpose.
2. If the caller is a Simwood customer or someone Simon is already in contact with, assure them Simon will return their call as soon as possible.
3. If the caller is not known to Simon:
* Ask for the caller's name and number.
* Ask for a brief summary of what they want to discuss with Simon.
* Record the caller's name, number, and summary as a message.
* Assure the caller that you will pass the message on to Simon.
4. If the call sounds like an unsolicited sales call:
* Politely inform the caller that you will pass the message on, but Simon is unlikely to return their call.
5. End the call politely.
# Guardrails
Do not engage in conversations beyond the scope of taking messages or politely declining sales calls.
Do not provide personal information about Simon Woodhead.
Do not make commitments on Simon's behalf.
If the caller becomes abusive or aggressive, terminate the call.
Do not offer any advice or opinions.
Do not ask for any sensitive information.
# Tools
```
The only other thing to change is the desired voice for the agent to use and, in my case, to change the email used for notifications!
That’s it. I’m going to test the agent by calling the internal extension and see what happens… Amazing, Steph answers and after a brief chat role-playing some dodgy guy called Dave, I get an email summary of the call:
That’s awesome! But I want to check what Dave actually said so lets head into the customer portal, linked from the mail notification. In there under reports is a new tab calls ‘Agent Conversations’. In there I can see our call, the summary, and a full transcript! This is all the information that for Carrier Services customers would be in the post-call webhook.
Last but not least, I want to put Steph in overflow on my extension so my calls go first to Teams but if I don’t answer or it fails, she’ll get the call. I’m going to set a forward to extension 800 if the primary Teams route fails, but you can use this extension like any other – in queues, in IVRs or mapped directly to inbound numbers.
We really look forward to hearing how you get on and remember, this is in beta so you’ll need to request access. We’ll announce pricing in due course – it is free while in beta.