Blog →

Retool Tutorial: Integrating Your Data into Missive

Table of content

by

Philippe Lehoux

November 30, 2022

· Updated on

The process of switching between multiple apps to get all the information you need is counterproductive.

You may experience this problem if you have to switch between your CRM and email client to access information about your client.

Wouldn't it be great to quickly access all of the information you need directly in your email?

If you are using Missive to manage your personal and team emails and you want to display data from your own database or from a Google Sheet, Retool is a good tool to use.

Here is a tutorial on how to use the Retool integration to add this data to Missive.

What Is Retool?

Retool is a powerful and flexible tool that helps you build custom internal applications quickly and easily. It provides a simple, but powerful, drag-and-drop interface that lets you add any data source to custom applications and share them with your team.

How to Use Retool with Missive?

Retool is a great way to create a custom integration that connects a source of data with an application used by your team. You can easily use this low-code solution to build the internal tools you need to kickstart your team's productivity.

In this tutorial, we'll explore how to use Retool to display data from a Google Sheet next to your emails in Missive.

Retool integration in Missive sidebar
 

1. Creating Our Queries in Retool

To be able to see the data of a Google spreadsheet alongside conversations, we'll need to query our Google Sheet document in a Retool application embedded in Missive.

We must first create three queries in our Retool application. To do so, let's log in to Retool and create a new app by clicking on Create new > App. If you don't already have one, create a Retool account.

Then we must create our data queries:

  1. One will query data from the Missive application.
  2. One will query data from a Google Sheet.
  3. One will merge those two data sources and display the correct data in the Retool application (Missive sidebar).

We can add a data source to your Retool application by clicking the + icon and selecting the Resource query. We will first create the query that gets the data of the selected conversation in Missive.

We can add a data source to your Retool application by clicking the + icon in the bottom left panel named Code and selecting Resource query.

To start let's create a query that will fetch the data of the selected conversation in Missive.

Retool dashboard creating a new query
 

Below, we're calling the query getCurrentConversation , but feel free to change the name if you wish. The resource select should be set to ParentWindow and the selector input should be set to conversation.

Retool dadhboard of getCurrentConversation query
 

The second query connects our Google Sheet to Retool. To create it, add a new query as we did previously. In Resource , select + Create a new resource. Then select Google Sheets and follow the instructions.

Retool dashboard creating a new resource
 

From there, we can select the spreadsheet you would like to connect to.

Retool dashboard selecting a resource type
 

We can test with one that has the same columns as this one:

Google Sheet with our data
 

Lastly, we need to create the query that will merge the data from Missive with the spreadsheet. we'll simply name it query. For this one, select Query JSON with SQL as the Resource.

JSON query in Retool
 

The query should be as follows:

select * from {{ googleSheet.data }} where Email = ANY({{getCurrentConversation.data.email_addresses.map(x => x.address.toLowerCase())}})

In a nutshell, this will find all of the rows in the spreadsheet where the email address is equal to at least one in the selected conversation in Missive.

2. Creating a UI for Missive

Now that we have the correct data, we can build a simple user interface to display it. In the right panel of the Retool editor, select the Create tab, then drag and drop the Key Value component in your application.

Creating a Key Value component in Retool
 

Then select the dropped component and in the Inspect tab of the right panel and in the Data input paste {{ query.data[0] }}.

Inspect data in the Key Value component in Retool
 

That's it! We've got a basic but functional application.

Before we try it in Missive, let's make some stylistic changes to the Retool application so it renders better in the Missive right sidebar.

For this, select the More menu at the top-right corner, then select the Scripts and styles option.

Script and style App actions in Retool
 

Then paste this CSS code:

._retool-container-table1 {
   width: 100% !important;
}

._retool-container-keyValue1 {
   width: 100% !important;
}

The ._retool-container-keyValue1 class name depends on the name of your component. Make sure to update it according to your component name.

Adding CSS to our component in Retool
 

This CSS will make the component dynamically resize with the Missive sidebar width.

3. Adding Our Retool Application in Missive

It's time to try this in Missive! Copy the link View link of your application:

Copying Retool app link
 

In Missive, open the Settings > Integrations and add a Retool integration, paste the copied link in the Retool public URL input:

Pasting Retool app link in Missive
 

Lastly, add this ?_embed=true at the end of the pasted URL. It will remove the Retool header from the integration for a far better look.

Retool link with embed at the end vs. a version without
 

Also, make sure to disable the Enable mobile layout from your Retool app settings:

Fix weird rendering issue
 

And here is the final result!

Using Missive JS API from Retool

You can also take advantage of Missive JS API from your Retool app. Here are the steps to do so:

1. Enable parent window communication

By default, Retool will block any communication between the app and its parent window (Missive). You can enable it in your Beta settings:

Emable parent window communication
 

2. Add missive-retool.js library to your Retool app

Add this script in the Scripts and styles section of your Retool app:

https://integrations.missiveapp.com/retool/missive-retool.js

Scripts and styles
 
Add library
 

3. Use the Missive JS API

You can now use the Missive JS API from your Retool app. You can, for example, add a link that will add new comments and tasks to the selected conversation:

Use Missive JS API
 
New comments added to Missive
 

Related articles

Explore more
Tips & Templates

December 22, 2023

8 soft skills proven to improve customer service

Soft skills aren’t soft, they’re the skills that separate a good customer service team from a great one. Here are the eight that matter most and how to build them.

Read more
Productivity

March 13, 2024

7 auto-reply email templates (with examples for every situation)

Seven ready-to-use auto-reply email templates for out-of-office, support, job applications, and more, plus setup steps for Missive, Gmail, and Outlook.

Read more
Tips & Templates

December 22, 2023

5 examples of bad customer service (and how to fix them)

Bad customer service costs companies customers and trust. Here are 5 clear examples of poor customer service, why they happen, and how to turn them around.

Read more
Tips & Templates

December 20, 2022

Best Customer Service Responses Templates

Learn how to create effective customer service response templates that save time, maintain consistency, and still feel personal—plus ready-to-use examples for common support scenarios.

Read more
Tips & Templates

February 5, 2024

How to set customer service goals that actually stick

Setting customer service goals is more than picking a number and hoping. Here’s how to use SMART goals to build targets your team can actually hit, with examples for departments, managers, and individual agents.

Read more
Tips & Templates

May 14, 2025

8 ways to use AI in your email inbox in 2026

Eight practical ways to use AI in your inbox in 2026: auto-categorize, route, escalate, draft, summarize, schedule meetings, and pull past context.

Read more
Customer Service

October 8, 2020

How to add live chat to Shopify (and actually manage it as a team)

Adding a chat widget to your Shopify store takes five minutes. Managing those conversations as a team without dropping the ball? That’s the real challenge. Here’s how to set it up right.

Read more
Team Collaboration

June 3, 2022

Boost Your Team Email Collaboration With These 10 Tips

10 practical strategies for better team email collaboration—from shared inboxes and delegation to templates, automation, and collaborative writing—with tips for moving beyond Gmail's limitations.

Read more
Productivity

April 19, 2022

How to add notes and comments to emails in Gmail

Gmail doesn’t have a native notes feature, but there are five workarounds. Here’s how to add notes to emails in Gmail, plus a better option for teams.

Read more

We live in our inboxes.
Let’s make email enjoyable.

Try us out for free, invite a few people to get a feel, and upgrade when you’re ready.

4.8 → Over 1000 reviews
4.8
→ 1000+ reviews