API content series: Frame.ai's fully integrated conversation analysis tool

API content series: Frame.ai's fully integrated conversation analysis tool

Frame.ai aggregates customer feedback across various tools to find actionable nuggets. This is in part done by bolting their product onto Airtable and Slack.

Businesses today might interface with customers across a variety of tools: support systems, CRMs, marketing automation tools, and even collaboration software.

With communication occurring on several different platforms, actionable feedback can be very distributed, and the opportunities to act on it might be missed.

That’s part of the challenge Frame.ai was designed to solve. Frame.ai is an intelligence hub for conversation data. It works across the different tools in a customer's tech stack to consolidate information into a unified dashboard, detect recurrences of information or feedback across the different platforms, and create a tagging system so that companies can be aware of these trends and act on them.

"We automatically detect when there are certain types of moments, emotional moments, happening in the middle of a message, or email, or chat, and highlight those," says Robbie Mitchell, Head of Operations at Frame.ai. "And then make them available to our customers in all sorts of interesting ways. We have a tag management layer where people can clean up the data that's coming in, re-map it, turn on auto tagging, create new tags that only exist in Frame. All of which is in service of doing something with it."

"When you think about conversations where you want to be identifying feedback or trends, they're not always so transactional. It's not like, 'I have a quick question and I'll never talk to you again.' There's a team on the other side, or a really important user or a high value on that account so it matters how you respond, that you follow up appropriately, and that you categorize all the information coming in, appropriately."

Creating a custom support tool

To make it easier for their users to categorize information and respond to customers, Frame.ai decided to take the action to where work happens for many: Slack. They integrated Frame.ai's notification and assignment capabilities with Slack's channel functionality to create a system that runs “like a support mechanism,” Mitchell says. This way, every team that uses Frame.ai can designate subject matter experts who are notified directly on Slack when feedback across the various tools warrants the creation of "tickets."

Frame.ai wanted to guarantee that internal subject matter experts, or agents, would respond to a customer query every time, no matter the time of day or the volume of enquiries coming in.

“Teams that come to us are like, 'This is really hard. I'm getting pinged at all hours. We're forgetting stuff,'” Mitchell says.

Finding a flexible and easy to use API

At the same time that Frame was building its product, Slack was rapidly changing their developer platform, including the way Slack tokens (later replaced by Slack apps) worked. “We were changing things really quickly to keep up with them and to figure out what customer-facing features to build,” Mitchell tells us. “We didn't want to be maintaining the UI on top of that. It would have had to change just as quickly as all the underlying features we were building.”

Frame initially considered using Google Sheets as an interface. “Their API required a lot of setup. There's like six levels of management,” Mitchell says. “Using it would have been a project.”

“The Airtable documentation had all of the calls there, with our own entities baked in. It makes it easy to copy-paste for someone like me who’s technical, but not a developer."

Airtable had the same intuitive, tabular layout as a spreadsheet, with the added capacity to link tables, which enabled the team to build more sophisticated user-facing features than they could build using other products. “That to me was magical,” Mitchell says, talking about Airtable's linked record field. “That was really what made this work.”

The team found the Airtable API much easier to work with. “The Airtable documentation had all of the calls there, with our own entities baked in,” Mitchell says. “It makes it easy to copy-paste for someone like me who’s technical but not a developer.”

A system running on Airtable

Frame’s ticketing and notification system runs off an Airtable base. Although each customer's base is configured to their individual needs, all of them are built with the same underlying architecture. The API calls are set up in such a way that the various parts of the Airtable base connect to the Slack API and govern how incoming customer queries are responded to: what type of notification is sent out, via what channel, and to which party.

To understand their system, we can look at a few key tables: Schedule, Notification, and Agent. The first table lays out the Schedule. Each record in this table contains different rules based on what day of the week and what time of day incoming customer queries messages arrive. For example, a message sent between 9am to 5pm on a weekday meets the rules for the Weekday Working schedule.

A redacted and simplified version of the base that Frame.ai uses to route and assign tickets that result from conversation data.

A linked field connects the Notifications table to the Schedule table. In the Notifications table, each record specifies a different message that would get sent out in response to an incoming customer query–the messages vary depending on the schedule they are linked to. This could be an automatic away message to a customer if the schedule is the weekend, or it could be an alert to a team member if the schedule is during the week.

Each Notification is assigned to a different Agent, or a different group of agents, with notifications appearing in the relevant Slack channel or as a DM, depending on how the base is configured (for example, marking off a checkbox field labeled "DM" if the desired target is a private message to the agents.)

The customer receives different automated messages, depending on the rules set up by configuration.

Once an agent responds to a customer query, that conversation belongs to that agent. “When someone's talking, they become the owner of the session so that if they forget to come back to it they get reminded,” Mitchell explains. If the first line of defense fails to respond, the message can be pushed to another agent, an executive, or a whole team’s Slack channel. There's another important piece to this puzzle: analytics.

"Like how much time are people spending on queries, who's taking our time, what should we hire for, or should we charge more for that," Mitchell offers some examples.

In more complex setups, different rules can be set depending on where the message is routed from. “Sometimes the sales team will open a shared channel with prospects,” Mitchell says. “That's not gonna be treated the same as the support for their enterprise customers. They’ll have different people in charge of responding to them, different messages.”

The team can even create a table that accounts for various timezones.

Empowering custom solutions

Using Airtable meant Frame had audit logging built in. This gave them the freedom to share a base with customers, allowing them to update and maintain the configurations themselves, without the possibility of causing major damage: Airtable’s revision history means that, if the Frame team see a problem caused by a user, they can retrace the steps that led to that problem, go in, and fix the issue.

Mitchell explains that he sets up the initial base for customers and then invites them to use it themselves. “If they want to do something that we don't offer they can do it themselves…If you want to set it up to update every week on your own, that’s fine. You can do whatever you want.”

“We’re not in their way,” Mitchell says, talking about his customers. “But we can fix it if something breaks.”

“If they want to do something that we don't offer they can do it themselves. … If you want to set it up to update every week, that’s fine. You can do whatever you want."

Airtable has built-in permissions levels so there are additional guardrails when Frame open up a base to customers. “They can't actually change the table structure,” Mitchell says. “We’re not at risk of them breaking it accidentally.”

As a safety mechanism, Frame’s developers built a cached layer. At launch, Airtable is pulled. “We'll refresh it every, at max, every 5 minutes,” Mitchell says. “That way if that refresh fails, we just keep the old copy. It sits there and continues to work.”

The structure designed by the Frame team allows for enormous complexity and even different time zones. “We have some teams that have have multiple times a day they work, they have three different types of paths that can follow depending if it's a sales channel, if it's a big customer or if it's small customer, there are like 15 notifications that are possible at one time,” Mitchell says. Yet, after the initial base is set up, business users can easily customize it further.

Painting a full picture

Today, Frame provides a full-fledged conversational analysis tool that integrates data from platforms including Zendesk, Intercom, Salesforce and more. Data is sorted according to different attributes or “moments,” which include everything from a moment in the sales pipeline to positive and negative sentiments detected in an email or chat. Frame’s dashboard, “the hub”, features an analysis and reporting UI that makes these individual moments searchable, or aggregates them for analytics purposes, presenting different insights into the data. Their proprietary analysis models are built to suit customers’ own data.

“We were founded to augment conversations so businesses could figure out how leverage that data in service of their business goal," Mitchell says. The rest of the business grows from there.

Sign up for Airtable for free
More for the record