Product

Have a chat with your Operations Toolkit

Our powerful chatbot Abbot isn’t just your customer success copilot, it’s also a powerful tool for chat automation across your entire organization. Abbot Skills are pieces of code you write that can be executed through Slack messages. They provide a “Social Command Line” for your organization’s operations, which is immensely powerful, but comes with the same limitations as any Command Line Interface. It can often be difficult to discover exactly how to express the command you want to run.

Here’s a concrete example. We have a powerful Skill in our own Abbot installation called “logs”. You can use it to fetch various collections of our operations logs. For example:

  • .logs request 123456 - Show all the logs for the request with ID 123456
  • .logs exceptions type=InvalidOperationException ago=4h - Show all InvalidOperationExceptions thrown in the past 4 hours
  • .logs traces event=OrganizationNotFound ago=2d - Show all OrganizationNotFound events logged in the past 2 days.

Once you get the hang of it, it’s relatively straightforward. You choose the kind of query you want (request/exceptions/traces) and then add criteria. But it’s still hard to remember the exact syntax sometimes. Even if you memorize it, there’s still a learning curve that can be frustrating.

For the past few weeks, we’ve been testing out a brand new feature that allows us to use simple natural language to invoke skills. No longer do we have to rely on obscure syntax and usage documentation. Now, when I want to do fetch some logs, I just ask:

We’ve supercharged Abbot with the power of AI Language Models and made them available to all Abbot customers starting today.

Let’s take a look at how the ‘logs’ skill uses AI to parse arguments. If you go to the edit page for any Abbot skill, you’ll see a new “AI” tab:

Opening this tab shows you a page that allows you to configure “Exemplars” for the skill:

In order for Abbot to be able to extract arguments from natural language, you need to provide it with some examples to “train” the model. We call these “Exemplars”. For each example, you provide a sample message, such as “get FooBar events for the past day”. Then, you provide the exact arguments that you’d expect the command to receive in order to express that request, such as “traces event=FooBar ago=1d”.

Once you’ve configured several Exemplars, you can test your argument extraction model out in the bottom section. This gives you a way to validate that the arguments for the skill are correct without having to run the skill itself, and then enable Argument Extraction:

Once you’re happy, just check the box next to the “Argument Extraction” header, and Abbot will pass all requests to run your skill through the AI model you’ve trained.

We’re using the powerful OpenAI GPT-4 model for Argument Extraction, and I’ve been frequently surprised by how effective it is at interpreting my intent when I make a request to the skill. Even with Argument Extraction enabled, if you still use the original syntax, the AI is fairly good at recognizing that and not messing with your request. For example, we can still use the original syntax without doing anything special:

However, if you really want to bypass argument extraction, you can. Perhaps you know the arguments very well and don’t need the AI assistance, or you’ve hit one of the rare edge cases and the AI isn’t quite getting it. In that case, you can append an “!” to the end of the skill name and we’ll bypass argument extraction entirely:

A common question that comes up next is “What if the AI does something I didn’t expect?” Abbot has you covered there in a few different ways. First, we log every skill invocation to your Organization’s Activity Log, and you’ll see both the original text, and the AI-generated arguments for each invocation:

Abbot also provides skills with rich APIs to request user input. You write these skills, or install them from packages, so you have full control over what they can and cannot do. If you’re writing a skill to take a high-risk action, you can prompt the user to confirm the action, such as with our built-in “forget” skill to remove data from Abbot’s simple key-value store:

Once you start building these AI powered skills, it becomes addictive. The power of ChatOps really explodes when you can start talking to your automation! At Abbot, we’re always thinking about how ChatOps can empower all parts of your organization. From CustomerOps, to SalesOps, to DevOps and every other kind of Ops, Abbot brings your automation alongside your communication. Get a free 14-day trial at https://ab.bot and start supercharging your organization’s workflow!

Recent Posts

Product

Have a chat with your Operations Toolkit

Product

(re)Introducing Abbot - a Copilot for Customer-Facing Teams

Engineering

That Shouldn't Happen - UnreachableException in .NET 7

Product

Automated Escalations with Abbot

Company

Seriously SOC 2 Compliant