April 5, 2022
On being a tiny team and the one thing we can't scale
I was right, we grew to $2M ARR without sacrificing quality to our customers.
Missive will soon reach $2M in ARR, roughly one year after the $1M mark.
In the article celebrating this significant milestone, I wrote that we could grow another 100% with the same team size.
We believe we can grow by another ~100% with only the four of us.
I was right. We grew to this point without sacrificing quality to our customers. It is baffling to most people, especially ones from the startup world, to see us thrive with such a low headcount.
Our users love the app and love the customer support experience we offer. They are shocked when we tell them we are just three. Also shocked when they see my basement Office in Zoom calls. 😆
Do I have the most unglamorous working setup?
- Basement ✅
- No window ✅
- Wooden crate + books standing desk ✅
- Kid toys all around ✅
- Apple Studio Display ❌
Who beats that? 🤣#remotework #bootstrap #desksetup pic.twitter.com/M5osCQ5diO
— Phil Lehoux (@plehoux) March 30, 2022
It's not just that we did not raise any money, but we willingly kept the team small. Some critical aspects of our business are just more manageable because of our size, like:
The three of us do all of the support. There is a direct line between the problems and the solutions. Our customers, when they complain, when they voice frustration about the product, we hear them and act swiftly.
We act swiftly to please them, of course, but also to keep our sanity; responding to the same complaints again and again is soul-crushing.
In seven years, our tech stack has stayed pretty much the same. We don't reinvent the wheel; we don't migrate to new frameworks or languages to please a new generation of developers. We don't have to since we are not recruiting X new developers every month.
Yes, our revenues have grown at a healthy ~5% month-over-month rate. But this growth came in significant part from the expansion of our existing customers. We have been able to stay small because the rate at which we onboard new customers has remained approximately the same for the last 2-3 years.
In the last year’s post about our $1M ARR milestone, I wrote:
We never spent a dime on marketing; the cost of customer acquisition in our space is crazy high. We can't compete with subsidized VC-backed companies.
This is not true anymore; the business generates a lot of cash flow, and many customer acquisition channels are starting to make more and more sense.
So this brings me to the one thing we can not scale indefinitely: good customer onboarding. Each business is unique; each has its requirements, workflows, etc. When people first set up in Missive, that is when there are the most questions, this is when we can tell them where the value is. The more new users we onboard simultaneously, the bigger the team will need to be if we want to keep offering a stellar experience.
Can I predict what our headcount will be in a year? No, but I'm confident it won't be just the three of us.

March 29, 2022
How to Create a Dynamic Email Signature?
Learn how to use Liquid templating in Missive to create email signatures that change automatically—like adding “Have a great weekend!” on Fridays, rotating seasonal messages, or embedding satisfaction surveys.
Most people use a simple and static email signature telling basic information about themself and their company (job title, phone numbers, address, etc.).

Others have more complex usage; for instance, they will gather feedback on how well they answered their customer questions.
What if you could be more creative? For instance, what if you could change your signature copy based on the day of the week? Like adding the sentence “Have a great weekend!” in emails sent on Friday!
Let me show you how, with Missive, the best business email client.
Copy-paste the following code snippet in the signature editor where you want the sentence to appear:
{% assign today = "now" | date: "%A" %}
{% if today == "Friday" %}Have a great weekend!{% endif %}
The first line parses the current date and assigns the day value to the today variable. The second line checks if the today variable is equal to Friday and, if so, outputs the Have a great weekend sentence.
By adding an else statement, you could display an alternative sentence. The below code will display Have a great weekend! on Fridays and Cheers, every other day.
{% assign today = "now" | date: "%A" %}
{% if today == "Friday" %}Have a great weekend!{% else %}Cheers,{% endif %}
Philippe Lehoux

The Friday greeting is just the beginning. Here are a few other ways you can use conditional logic in your signatures:
Seasonal messages. Use the month to rotate holiday or seasonal greetings automatically—“Happy holidays!” in December, “Happy New Year!” in January, and your standard sign-off the rest of the year.
Satisfaction surveys. Embed a customer satisfaction survey link in your support team’s signatures so every reply gives the customer a chance to rate their experience. Tools like Nicereply, Simplesat, and Delighted integrate well for this.
Event promotion. Running a webinar or open house next month? Add a line to your signature that promotes it—then set it to automatically disappear after the event date passes, so you’re never promoting something that already happened.
Team-wide consistency with personal details. If you use Missive’s managed signatures, admins create one master template that pulls in each sender’s name, title, phone number, and other details from their profile. Update the template once, and every team member’s signature updates instantly—no chasing people to fix their phone number or title.
Missive takes advantage of the powerful templating engine Liquid.js—the same engine that powers Shopify themes. That means you get real programming logic (if/else, date parsing, variables) right inside your signature editor, without needing external tools or developer help. See the full list of available variables.
p.s. Thanks to Laura Soar, one of our customers, who suggested this cool idea.
In Missive, open your signature editor and paste Liquid templating code where you want dynamic content. For example, use {% assign today = "now" | date: "%A" %} to get the current day, then add an if/else statement to show different text depending on the result. No external tools or plugins needed—the logic runs right inside Missive’s signature editor.
Yes. The code examples in this article show exactly how. You assign the current day to a variable, then use conditional statements to display different text—“Have a great weekend!” on Fridays, “Cheers,” on other days, or any variation you want. It updates automatically each day with no manual changes.
Yes. Missive’s managed signatures let admins create a single master template with dynamic elements and deploy it across the entire team. Each signature automatically pulls in the individual sender’s name, title, and contact details from their profile, so everyone gets a consistent, branded signature without setting it up themselves.
Yes. The Liquid templating renders server-side before the email is sent, so dynamic signatures work the same way whether you send from desktop, web, or mobile. Your recipients will see the final rendered signature regardless of which device you compose on.
May 4, 2021
How to automate customer support (without losing the human touch)
Your team doesn’t need to manually sort, label, and assign every email. Here’s how to automate the repetitive parts of customer support so your team can focus on helping people.
Your support inbox doesn’t care that you’re short-staffed today. The emails keep coming — billing questions, technical issues, sales inquiries, spam — and someone on your team has to read each one, figure out who it’s for, and route it to the right person.
That triage work adds up fast. One manufacturing company we spoke with estimated their team spent over an hour and a half per person, per day, just sorting through emails to figure out which ones were relevant to them. An accounting firm described a similar situation: partners were spending their mornings wading through a shared inbox when they should’ve been doing client work.
The good news? Most of that sorting, labeling, and routing work can be automated. Not with some massive enterprise platform that takes months to implement, but with the kind of rules and AI features that are built into modern email clients.
Here’s how to think about automating your customer support — and how to do it without turning your inbox into a black box that nobody trusts.
Before you automate anything, look at what your team does every single day without thinking about it. These are your best candidates:
Sorting by sender or domain. If every email from @bigclient.com goes to the same account manager, that’s a rule. If emails to your support@ address always need a “Support” label, that’s a rule too.
Assigning based on keywords. A legal services firm we interviewed had set up over 200 rules in their email client — sounds extreme, but each rule was dead simple. Emails mentioning specific case types got routed to the right lawyer. No human had to read the subject line and think about it.
Archiving noise automatically. Newsletters, shipping notifications, automated receipts — your team doesn’t need to see these in the shared inbox. A rule that archives emails from known automated senders clears out a surprising amount of clutter.
The pattern here isn’t complicated: if a person on your team makes the same decision every time they see a certain type of email, that decision can become a rule.
Most email clients have some version of rules or filters. Gmail has filters. Outlook has rules. But if your team shares an inbox — or multiple inboxes — you need rules that work at the team level, not just for one person.
In Missive, an email client built for team collaboration, rules have three parts: a trigger (when does this run?), conditions (what has to be true?), and actions (what happens?). They work across email, SMS, WhatsApp, and live chat, which means you’re not maintaining separate automation for each channel.
Here’s what a basic setup looks like for a support team:
Rule 1: Route by email account. Emails arriving at support@yourcompany.com land in the Support team inbox. Emails to sales@yourcompany.com go to Sales. No manual sorting needed.
Rule 2: Auto-assign by keyword. An email with “invoice” or “billing” in the subject gets assigned to your finance person. An email mentioning a specific product line goes to the specialist who handles it.
Rule 3: Label and prioritize. Emails from your top 10 clients get a “VIP” label and a notification to the account manager. Everything else follows the normal queue.
These rules run instantly on incoming messages. Your team opens their inbox and the work is already organized.
Traditional rules are great when the logic is binary — if this, then that. But a lot of customer support emails don’t fit neatly into categories.
A customer might write “I’m having trouble with my account” — is that a billing issue, a login issue, or a feature question? A human can tell from context. A keyword-based rule can’t.
This is where AI rules come in. Instead of matching on keywords, you give the AI a prompt: “Read this email and categorize it as Billing, Technical, Sales, Feedback, or Spam.” The AI reads the full message, understands the context, and applies the right label.
In Missive, you can set this up as a rule action called “Add labels with AI.” You write a plain-language prompt, list your categories, and the AI handles the rest. No training data, no machine learning pipeline — just a sentence describing what you want.
A few real-world examples of what teams are doing with AI rules:
Lead detection. An AI rule scans incoming emails and labels potential new business opportunities. Sales teams get notified about warm leads without anyone manually reading every inbound message. One small events company we talked to was looking for exactly this — they were missing deals buried in email noise.
Sentiment routing. Frustrated customers get flagged and routed to senior staff. The AI picks up on tone and urgency in ways that keyword matching can’t.
Language detection. For teams handling international support, AI can detect the language of an incoming message and route it to the right regional team.
Auto-drafting replies. For common questions — “What are your hours?”, “How do I reset my password?”, “What’s the status of my order?” — an AI rule can draft a response using your canned replies and knowledge base. A team member reviews and sends, but the writing is already done.
You can even chain these together. First rule: AI categorizes the email. Second rule: when the “Billing” label is applied, assign to the billing team. Third rule: if the billing team doesn’t respond within two hours, escalate. Each rule is simple on its own, but together they create a workflow that used to require a dedicated triage person.
Automation gets more powerful when your email client talks to the rest of your stack.
Missive’s AI assistant supports MCP (Model Context Protocol) integrations, which means it can connect to tools like Notion, Linear, Stripe, Attio, ClickUp, and Todoist — or any custom MCP server you set up.
In practice, that looks like this:
This isn’t about replacing your team. It’s about eliminating the tab-switching, the copy-pasting, and the “let me check and get back to you” delays that slow down every support interaction.
If you’re a team of three to ten people, you don’t need 200 rules on day one. Start with the ones that eliminate the most manual work:
1. Auto-route shared inboxes. If you have info@, support@, and sales@ addresses, make sure emails to each one land in the right team inbox automatically. This alone eliminates most “who’s handling this?” confusion.
2. Auto-assign repeat senders. Your biggest clients email you regularly. Set a rule so those emails always land with their account manager. No more “I didn’t see it” moments.
3. AI-categorize your support queue. Even if you only have one shared inbox, having emails automatically labeled by type (billing, technical, general) helps your team scan and prioritize faster.
4. Archive the noise. Automated notifications, internal system alerts, marketing newsletters — archive them on arrival. If someone needs them, they’re still searchable.
5. Snooze and follow-up reminders. Not automation in the traditional sense, but snoozing an email until a specific date means nothing falls through the cracks. It’s the simplest “automation” that every team should use.
Not everything should be a rule. Here’s where teams get into trouble:
Don’t auto-reply to complex questions. AI-drafted replies are great for simple, factual questions. But if a customer is frustrated or the situation is nuanced, a human should write that response. Auto-drafting is a starting point, not a send button.
Don’t over-categorize. If you have 30 labels and an AI rule trying to sort emails into all of them, accuracy drops. Start with five or six broad categories and refine from there. One small business owner told us they tried AI labeling but abandoned it because it was mislabeling things as spam. They went back to simpler rules and found them more reliable. The lesson: start simple, add complexity only when you need it.
Don’t automate what you don’t understand yet. If you just set up a shared inbox and your team is still figuring out the workflow, hold off on automation. Spend a few weeks doing things manually first. You’ll spot the patterns that are actually worth automating.
If you’re running customer support out of a shared inbox — whether that’s Gmail, Outlook, or something else — here’s the progression that works for most small teams:
1. Get your shared inbox set up properly. Everyone on the team should have visibility into what’s been handled and what hasn’t. Assignments, internal chat, and read status are table stakes.
2. Add three to five basic rules. Route by email account, label by sender domain, archive automated notifications. These take five minutes to set up and save hours per week.
3. Try one AI rule. Pick your highest-volume category — maybe support emails that need to be sorted by type — and let AI handle the labeling. Watch the results for a week before expanding.
4. Connect your tools. Once your inbox is organized, plug in the integrations that eliminate context-switching. CRM lookups, task creation, knowledge base queries — whatever your team does ten times a day in another tab.
5. Revisit monthly. Your support volume and team structure will change. Rules that made sense three months ago might need updating. Keep it simple, keep it current.
The best customer support automation doesn’t feel automated to the customer. They get fast, accurate, personal responses. Your team isn’t drowning in triage work. And nobody had to build a complex workflow in a tool that takes a consultant to configure.
It starts with a few simple rules and grows from there.
April 6, 2021
How we bootstrapped a $1M ARR email client
Five years ago, we launched Missive, an innovative but somewhat hard-to-define email client to the world....
Five years ago, we launched Missive, an innovative but somewhat hard-to-define email client to the world. Fast-forward to last week when we reached US$1M in annual recurring revenue (ARR)!

I believe our journey to get there is fascinating for a couple of reasons:
Missive is bootstrapped, meaning we never took a dime from investors. We funded it with the cash flow of our other business.
One doesn’t start a new email client without some solid finance and runway. The graveyards are full of email-related startups. We knew that.
The long story is I met my co-founders at the coworking space I had opened in Quebec City to meet other like-minded people. They were starting a web development studio and I was learning to code by doing fun/creative little projects and experimenting on different business ideas.
I got one of those ideas after organizing a game jam festival. As an organizer I was designing and printing name badges for all the attendees, judges, sponsors, etc. The process was really painful. I envisioned a Vistaprint-like service for name badges. I started building it alone, then quickly asked my now co-founders to work with me on the project. ConferenceBadge.com launched in 2013 and promptly got to profitability.
A year and a half in, it generated enough revenue for us to go full-time on the product. Having said that, we were not excited by the idea of working exclusively on an online name badge service. We brainstormed on problems we encountered while building Conference Badge and Etienne got the idea of building a collaborative email draft editor to ease support. This idea quickly morphed into a full-fledged collaborative email client; Missive was born.
It took one year to build the prototype, one more year to start charging for it, one more year to have a few real customers, one more year to get to profitability, and finally one more year to get to $1M ARR.
We could never have afforded to work on Missive for so long without CB paying the bills. Life is like a role-playing game; you build up.
PODCAST 🎙 Listen to my interview with Courtland Allen of IndieHackers (2017) where we discuss the early days of Conference Badge and Missive.
In the past five years, the team never grew past four full-time members.
Here are the roles we play:
Etienne and I are fluent in 90% of the codebase and mainly focus on feature development.
Rafael, on the other hand, is the master of all code. He reviews every line that gets committed to the different projects. He makes sure the servers are healthy and that the databases survive the billions of queries they run per day.
Etienne uses his infinite web technology knowledge to offer a fast and secure HTML/JS experience on all platforms (Electron, Cordova, Web).
Luis designed the public website, maintains its content, writes blog posts and does demo sessions with customers.
I personally manage salaries, expenses, office, accounting, and long-term financial planning. These tasks usually take a small percentage of my time.
On most days, customer support represents ~33% of our working hours. This has not changed despite our growth. We spend a lot of time making the app easier to use and improve the documentation to decrease requests per customer.
We are quite proud of the level of support we offer; our customers are often amazed at the speed at which we can help and solve their problems, especially customers coming from competitor products.
We believe we can grow by another ~100% with only the four of us. Being small allows us to be flexible on product decisions. We are first and foremost product builders, not managers, and we want to stay that way for as long as possible.
One reason it took so long for us to get to profitability, at least in our experience, compared to our other product, is the complexity of the space we chose to play in.
Building a collaborative email client is challenging and rewarding, but the list of things you need to tackle before you have a minimally usable product is infinite.
You need to balance the time invested in getting on par with existing products and innovative work. It is no surprise most of our competitors have raised tens to hundreds of millions of dollars; the space is hard.
Up to this point, most of our architectural decisions have weathered the test of time and growth.
One of the craziest decisions we took early on was building and deploying a single JavaScript/HTML codebase on all platforms. We knew it was impossible to bootstrap an email client on all major platforms (Windows, Mac, iOS, Android, and web) with multiple codebases at our team size. A mobile email client in JavaScript was the only way we could compete. Not only did we succeed at creating a blazing fast experience on phones, to our astonishment, Apple featured us multiple times on the App Store.
To this day, I believe this decision is the main reason we can compete with massively funded startups. We refused three acquisition offers from unicorn startups; they were all interested in our skills and experience shipping one codebase on all platforms
PODCAST 🎙 Listen to Etienne’s interview with Wes Bos and Scott Tolinski from Syntax (2019) where they discuss the pros and cons of building desktop and mobile apps with a single codebase.
Our initial users were mostly early tech-adopters looking for a new innovative cross-platform email client. We found those by posting on different tech discovery communities like ProductHunt. Those early and mostly solo users wanted a different set of features than what would ultimately become our real paid customers: small and midsize businesses.
This tricked us for a while in a race to build more and more features not so consistent with our vision. For instance, we started offering read tracking as it was one of the most requested features of early adopters. Many users upgraded to a paid plan for this alone; they weren’t interested in any of the collaborative features of the app. Those soloish users were churning at a far greater rate than real teams and they were requiring far more customer support/server resources per dollar earned. At some point, this reality sank in and we decided to focus entirely on teams. We ditched read tracking as it was a magnet for such misaligned customers. Our churn rate plummeted. The hard-learned lesson: have the courage to say no.
We never spent a dime on marketing; the cost of customer acquisition in our space is crazy high. We can’t compete with subsidized VC-backed companies.
We charge less than our competitors. They have higher prices, usually negotiable for a one-year agreement. After their deal expires, the price increases significantly; this is when their customers look for an alternative and find us. We let VC-backed startups build the market with big advertising spending, and we wait patiently with a better and more affordable product.
We are conservative in most of our decisions. To keep innovating as a small team for the long term, we are frugal with our time and money.
We’ve always made decisions to ensure we’d still be able to allocate 66% of our time to work on the product.
Our workdays are not much different from what they were five years ago.
We don’t set goals or long-term road maps. Daily, we look at what seems to be a good use of our time, and we do it, period. Long-term planning is tiresome and always looks pretty useless for a team like us.
What’s the takeaway from our last five years at Missive? Resilience, our capacity to rebound from whatever hardship we face, to look at our work with fresh eyes, and stay motivated.
Our story is not one of risk taking, it’s one of consistent work. It’s my belief that the compounding effect of our work will rival the one from VC-backed startups shooting in all directions. Be resilient.

March 23, 2021
Automate Customer Feedback
Four practical ways to use Missive rules to collect customer feedback—request social reviews, send feedback to a spreadsheet via webhooks, embed surveys in signatures, and automate follow-ups.
Customer feedback is an integral part of a customer-centric business strategy. Along with excellent customer service, getting feedback from the people who use your product/service is key to achieving customer success.
In this blog post, we share with you four ways you can use Missive to easily acquire, manage and store customer feedback.
We will be relying mostly on User Action Rules. These are triggered by an action defined by the user. For example, you could create a rule that sends a conversation to the trash whenever you type trash in the comment bar.
Let's get started!
Send links to multiple review platforms in under 3 seconds. How?

Here's the copy if you want to use it. Make sure to add the logos of the platforms you use and add the respective links.
Hey {{ recipient.first_name | default: "there" | confirm }}!
Thank you for trying out our product. If you want to share your experience with others, you might want to review us on:
G2 - Facebook - TrustPilot - Yelp - Google
Cheers!

Now, when you type "#reviews" in the comment bar, the Platform reviews canned response will be sent automatically to the customer.
With Missive you can easily manage customer feedback received in emails. You can even have it sent to a spreadsheet in order to categorize it and put words into action. This can be done with Zapier webhooks and Google Sheets.
Although it might sound like a daunting project, it's not. Let me show you.
Create a Zapier account and click on Create Zap.
Select "Webhook" as the trigger > "Catch hook" as the Trigger Event > Continue

To test the trigger, open your Missive settings > Create a "New comment" rule > Set the condition Text is "#feedback" > Add the webhook URL provided by Zapier

Add the comment "#feedback" in any email thread in Missive.
Go back to Zapier and click on Test. You should get something like this:

In the action menu, select "Google Sheets" > "Create Spreadsheet Row" as the Action event > Add your Google account > Continue
Note: Before you continue creating the Zap, go to your Google Drive > Create a spreadsheet and add column names. It could be as simple as having two columns: Email and Feedback.

Select your Drive > Select a spreadsheet > Select a Worksheet. In our spreadsheet, we have two columns: Email and Feedback. We are going to match them to the pertinent data from the webhook.
In this case, we want:
Email -> Latest Message From Field Address
Feedback -> Latest Message Preview

Test it and click on Turn on Zap.
From this point on, whenever you get customer feedback in an email, you can simply type "#feedback" in the comment bar and information will be sent seamlessly to the feedback spreadsheet.


Missive offers a powerful signature management system. With it, you can easily add customer satisfaction surveys to each of your teammates' signatures in just minutes.
The dynamic data comes from your team's editable member profiles. Some survey collection companies let you generate embeddable HTML code. In this case, you can copy the code and paste it into the managed signature editor.

You can also add custom field variables like in the example above. Learn more about managed signatures.
One of the most straightforward ways to stay in contact with a customer and to ensure a successful relationship is to follow up after a determined period of time. If you work in a sales environment, it's crucial to follow up on leads. Missive makes it easy for you.
You can create a Rule that snoozes all outgoing emails sent from your account that contain the label "Warm Lead".

You'll never miss the opportunity to close a deal!
Yes. If you create the rules under your organization (rather than under "You" in the rules settings), every team member can trigger them. Anyone on the team can type "#feedback" or "#reviews" in a comment bar and the rule will fire. The webhook data and canned responses work the same regardless of who triggers it.
The webhook payload includes conversation details, message content, sender information, and any labels on the conversation. When you test the Zap in Zapier, you'll see all available fields and can map whichever ones you need to your spreadsheet columns—for example, you could add a column for the subject line, the date, or which team member triggered the rule.
Missive retries failed webhook requests up to 5 times over about 8 minutes. If a webhook rule fails more than 50 consecutive times, Missive automatically disables it to prevent repeated errors. You can re-enable it from the Rules settings tab once the issue is resolved.
December 10, 2020
Missive security and privacy FAQ
Missive is SOC 2 Type II and GDPR compliant. Full FAQ on our security and privacy practices: encryption, AI data handling, SSO, data export, and account deletion.
Missive was built with privacy as a core principle, not an afterthought. We’re SOC 2 Type II compliant, GDPR compliant, encrypt data at rest and in transit, don’t sell user data, and block read trackers in emails by default. This FAQ answers the questions we hear most often about reliability, privacy, and security.
The short version:
Full details live in our privacy policy and security page. Everything below is the plain-language FAQ.
Technically yes, the same way Gmail can read your Gmail and Outlook can read your Outlook. Missive imports email via IMAP or OAuth and stores it in our database. That’s the technical foundation of a collaborative inbox: your team can only work on a message together if the message is available to the app.
That said:
Most teams that end up on Missive start by sharing passwords to a Gmail or Outlook account, or by setting up a distribution list that forwards to everyone. Both approaches break down on the security side:
The short version: Missive doesn’t replace Gmail or Outlook as your mail server, your email still lives there. Missive adds an access layer designed for teams on top, which is more auditable and more revocable than sharing credentials.
No. Missive does not train models on your data.
If you turn on Missive’s AI assistant or AI rules, the relevant content is sent to the AI provider you picked (OpenAI, Anthropic, or Google). Each provider has its own policy, but the pattern is consistent:
This is true whether you pay Missive for AI credits or bring your own API key (BYOK). BYOK also unlocks provider-side controls like OpenAI’s EU data residency for teams that need it. More detail in our AI overview docs.
No. Missive blocks read trackers and 1x1 tracking pixels by default, so senders can’t tell whether you opened their message. You can even build rules on the “contains read trackers” condition, handy for auto-routing marketing email.
Missive runs on Amazon Web Services (US East 1 region, Northern Virginia) for application hosting, with Crunchy Bridge for managed Postgres databases. Both are compliant with major security certifications and publish their security practices publicly.
If you need to allowlist our IP ranges on your mail server, AWS publishes the current list at https://ip-ranges.amazonaws.com/ip-ranges.json.
Yes. Missive has SOC 2 Type II compliance, audited by an independent third-party CPA based in California. Type II (as opposed to Type I) confirms that our security controls are both well-designed and consistently effective over time, not just a point-in-time snapshot.
The SOC 2 report is available on request. Email security@missiveapp.com to get a copy.
Yes. Missive is fully compliant with the EU’s General Data Protection Regulation. You can request a Data Processing Agreement and see the full list of subprocessors on our GDPR page.
No. Missive is not HIPAA compliant and we don’t sign Business Associate Agreements (BAAs). If you work with Protected Health Information (PHI) and need a HIPAA-compliant email tool, Missive isn’t the right fit.
Missive itself doesn’t store or process payment card data. All payment processing for Missive subscriptions is handled by Stripe, which is certified as a PCI DSS Level 1 Service Provider. We don’t store or even relay card numbers through our infrastructure, so PCI scope sits with Stripe.
Yes, both.
Almost certainly yes. Missive has been running since 2015, is fully bootstrapped (no VC funding), profitable, and independently owned by the original founding team. Over 5,000 teams use Missive daily, across logistics, legal, real estate, professional services, and more.
No investor whims, no forced-sale pressure. We move at the pace that makes the product better.
We do not sell user data, to anyone, ever. That’s the hard line. We do share a limited set of operational data with a small number of subprocessors (things like our email delivery provider, payment processor, and error reporting service), and those are all listed publicly on the GDPR page.
Yes. Go to Settings > Login & Security and request an export. You get:
Missive delivers the export as a conversation in your inbox when it’s ready.
Heads up: this can’t be undone. The full steps are documented here, and the short version is:
You’ll be logged out immediately. Within 30 days, every trace of your Missive data and activity is permanently deleted from our database, cloud storage, backups, and logs. This process satisfies Article 17 of GDPR (the right to erasure).
If you just want to stop paying but keep access, go to Settings > Billing and switch to the Free plan instead.
Missive is the collaborative email client for teams that treat inbox hygiene as a team sport. Start a free account at missiveapp.com.

November 20, 2020
Take your contact book to the next level
How to use Missive's contact groups and contact-based rules to automate VIP handling, language routing, team assignments, and spam filtering across email, SMS, WhatsApp, and more.
Sometimes you need to take particular actions for different groups of customers. Handling these exceptions can be difficult as your company grows. Without an automated system working on your behalf, it's easy to make mistakes.
With Missive, companies can create groups within their contact books. These are very useful tools for segmentation. But even more helpful is the ability to create workflows using these groups or individual contacts as conditions to trigger automatic actions.
Imagine you have a group of highly-select customers that require special attention and faster service. Instead of always having to be alert for when they contact you, with Missive, you can designate a group for them and then let it alert you when someone from this select cluster makes contact.
The previous is an example of our powerful contact-based rules. We're going to explore three scenarios (instructions included) on how you too can leverage this feature.
But first, let's learn how to create contact groups.



PROTIPYou can add contacts to a group directly from the email viewer. Click on the email address > Add to Contacts > Add Group
Your top 20% of customers bring 80% of the revenue. You signed a strict Service Level Agreement and they expect the best treatment.
Group name: VIP customers
Actions: Notify Sales Team when they email + label as VIP + display 15 minute SLA post

You're dipping your toes into the German market and you've hired Hans to help. He's bilingual, so he can answer emails in English and German. You need to have them translated automatically since you don't speak the language.
Group name: German customers
Actions: Assign messages to Hans + translate them to English using a webhook

Your business (Company Inc) is consulting to the sales and legal teams at Acme Inc. Both teams email you to john@company.com. You need the lawyers' emails to be directed to your own legal team and forward a copy to another outsourced firm.
Group name: Acme Inc (Legal team) customers
Actions: Move messages to the Legal Team Inbox + forward them to the outsourced firm.

Trash spam or undesired emails in the future by adding them to the contact group Spammers.
Group name: Spammers
Actions: Trash emails

The scenarios above all use contact groups, but Missive's rules engine supports several other contact-based conditions. You can also build rules that check whether a sender or recipient is in a specific contact company (useful for B2B routing—e.g., route all emails from anyone at Acme Corp to your account manager), in a specific contact book, or simply whether they exist in your organization's contacts at all. That last one is particularly handy for treating known contacts differently from first-time senders—for example, skipping an auto-reply for people you've already been in touch with.
You can also use the "Create contact(s)" rule action to automatically add new senders to a contact book when a rule fires. This is useful for building your contact database from incoming leads or support requests without any manual data entry.
They work across all of Missive's supported channels: email, SMS, WhatsApp, Messenger, Instagram, and Live Chat. The same contact group condition you set up for an email rule can be used in an SMS or WhatsApp rule. The only exception is custom channels, which don't support the rules engine yet.
Yes. Groups work like tags—a single contact can be in "VIP," "German customers," and "Enterprise" simultaneously. If multiple rules match (one for each group), they'll all fire unless one of them includes a "Stop processing more rules" action.
Yes—right-click on a contact book and select "Import contacts (CSV)." Missive supports CSV files in Google and Outlook formats. If your contact book is synced with Google or Office 365, import the CSV through that provider's interface instead (Google Contacts or Outlook) and it'll sync to Missive automatically.
Absolutely. You can combine "From is in contact group" with keyword conditions, time-based conditions (like business hours or unreplied-after timers), conversation state, AI analysis, and more. For example, you could create a rule that fires only when a VIP customer sends a message that's been unreplied for 30 minutes—combining a contact group condition with a time-based SLA condition.
November 16, 2020
What is Pipedrive?
Pipedrive is a CRM or Customer Relationship Management tool. It that allows companies to properly manage...
Managing leads and deals from an Excel sheet might work for a short period of time, but it's mostly a hack. What your company needs, no matter the size, is a CRM.
A CRM is a Customer Relationship Management tool, usually in the form of an app that allows companies to properly manage interactions with potential and current customers. Companies of all sizes, including small ones, benefit from integrating a CRM into their tool stack.
Options abound online. But we believe Pipedrive is one of the best out there. It's not just a CRM, it helps you, among other things:

In one word: Missive.
Missive is a team inbox and chat app that helps businesses stay on top of all their communication channels and projects in a single app. All while enabling collaboration between coworkers. Missive offers a Pipedrive integration that helps you bridge the gap between emails and your sales funnel!
Missive offers a great integration with Pipedrive that lets you see your contacts, deals, activities and notes right in the context of your Inbox! You can also create and edit them directly from Missive.

The integration will also let you quickly send received emails to your Pipedrive account with the Forward to Pipedrive action available on each email.

Do you need to discuss a deal in real-time? No problem, you can do that too using the chat feature in Missive!
Create a free Pipedrive account.
They offer multiple sign up options, like Gmail or LinkedIn sign in for example, or you can do it with an email and password.
Open Missive and go to Settings > Integrations > Add integration > Pipedrive

A pop-up will open that will ask for your Pipedrive account and permission to access it.

Share the integration with your team if needed.

You're ready to start adding contacts, deals, activities and notes from Missive!

Absolutely! Everything you create or edit in Missive will be visible and available in pipedrive.com in real-time.

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.
Adding live chat to your Shopify store is one of those things that sounds simple until you actually do it. The widget itself? Easy — paste a script, pick a color, done. But then someone messages at 2pm asking about sizing, another customer wants to know if an item ships to Canada, and a third is asking where their order is. All at once. And your team of three is scrambling to figure out who’s handling what.
The chat widget isn’t the hard part. Managing the conversations behind it is.
This guide covers both: how to install live chat on Shopify, and how to set it up so your team can actually handle the volume without things falling through the cracks.
Live chat converts browsers into buyers. When someone’s on your product page deciding between two sizes or wondering about your return policy, the difference between a sale and an abandoned cart is often a 30-second answer.
Email is too slow for that moment. A phone call is too much friction. But a quick chat message? That’s exactly the right amount of effort for a customer who’s already on your site with their credit card nearby.
For Shopify stores specifically, chat also helps with the questions that product pages can’t fully answer — material feel, fit comparisons, compatibility with existing products, shipping timelines to specific locations. These are the conversations that turn a maybe into a yes.
There are dozens of live chat apps in the Shopify App Store. Before you pick one, think about what happens after someone messages you:
Does your team see it? If the chat only goes to one person’s phone, you have a single point of failure. The whole team needs visibility.
Can you assign conversations? When three chats come in at once, someone needs to grab each one. If there’s no assignment system, messages sit unanswered while everyone assumes someone else is handling it.
Does it work alongside your email? Most Shopify stores handle 90% of customer communication over email. If your chat tool is completely separate from your email, you’re creating a second inbox that someone has to remember to check.
Can you see the customer’s history? If a customer emailed you last week and now they’re chatting about the same order, your team needs to see both conversations in one place.
Missive is an email client that handles live chat alongside email, SMS, and WhatsApp — all in one inbox. When a customer sends a chat message on your Shopify store, it shows up in the same place as your emails, with the same assignment and collaboration tools.
Here’s how to set it up:
Missive Live Chat runs on Twilio’s Conversations API. Head to twilio.com and create an account. Grab your Account SID and Auth Token from the Twilio dashboard — you’ll need both in a moment.
In Missive, go to Settings > Accounts and add a new Missive Live Chat account. Enter your Twilio credentials. Missive will handle the connection between Twilio and your chat widget.
On the Setup page in Missive, configure your chat widget’s appearance — colors, position, welcome message, online/offline status, and visitor form fields. You can match it to your Shopify store’s branding. Everything from the button shape to the header color is customizable.
A few settings worth thinking about:
Copy the HTML code snippet from Missive’s Setup page. Then in your Shopify admin:
1. Go to Online Store > Themes 2. Click the three dots on your current theme, then Edit code 3. Open the theme.liquid file 4. Paste the Missive chat snippet just before the closing </body> tag 5. Save
If you’d rather not touch the code editor, you can use a Custom Liquid section in the Theme Editor: go to your theme, click Customize, add a Custom Liquid section, and paste the script there.
That’s it. Your chat widget is now live on every page of your Shopify store.
Back in Missive, set up your live chat account to flow into a Team Inbox. This means incoming chats appear in a shared queue where any team member can pick them up, assign them, or leave internal notes.
You can also set up rules to auto-assign chats during specific hours, or notify particular team members when a chat comes in.
Here’s where most live chat setups fail: the widget is installed, but there’s no system for who handles what. Two people respond to the same customer. Nobody responds to another. A conversation gets lost because someone closed the tab.
In Missive, chat conversations work exactly like email conversations:
Assign to a person. When a chat comes in, assign it to whoever should handle it. It moves to their personal inbox and clears from the team queue.
Leave internal notes. If you need to check something with a coworker before responding, @mention them in the internal chat. The customer never sees it.
Merge with email. If a customer emails you about the same issue they chatted about, you can merge the conversations. Full context in one thread.
Use canned responses. For the questions you get ten times a day — shipping times, return policy, store hours — save templated responses and insert them in two clicks.
Staff it or hide it. Nothing is worse than a live chat widget that says “We’re online” when nobody’s actually watching. If your team can only cover chat during certain hours, use the offline setting to hide the widget or show a clear “We’ll get back to you” message outside those hours.
Set response time expectations internally. Chat feels instant to the customer. Agree with your team on a target — 2 minutes during business hours is a good starting point. If you can’t hit that consistently, you might need to adjust your staffing or limit chat hours.
Don’t try to do everything in chat. Some conversations are better over email — anything involving order details, attachments, or lengthy explanations. Train your team to recognize when to say: “Let me send you a detailed email with all the info you need.”
Track what people ask about. After a few weeks of live chat, you’ll notice patterns. If every third chat is “Where’s my order?”, that’s a signal to improve your order tracking page or shipping confirmation emails. Chat is a feedback loop, not just a support channel.
Shopify offers a free built-in chat tool called Shopify Inbox. It works fine if you’re a one-person operation handling a handful of chats per day. But it has limitations that show up quickly as you grow:
It’s separate from your email. You end up checking two inboxes — one for email, one for chat. Conversations don’t connect across channels.
There’s no team assignment. Multiple people can respond, but there’s no system for claiming conversations or routing them to the right person.
It doesn’t scale to other channels. If you later want to add SMS or WhatsApp support, you’ll need a different tool anyway.
For stores that handle meaningful volume across email and chat, having both in one place saves time and prevents things from slipping through.
Missive brings live chat, email, SMS, and WhatsApp into one collaborative inbox. Install the chat widget on your Shopify store and manage every customer conversation from one place. Try it free.
September 23, 2020
How to add live chat to Squarespace (and manage it without losing your mind)
Squarespace doesn’t have built-in live chat. Here are the six tools worth shortlisting (with prices), how to add a chat widget, and how to handle conversations alongside your email.
Squarespace doesn’t include live chat. There’s no built-in widget, no native chat feature, and nothing in the Squarespace editor that lets visitors message you in real time. If you want live chat on your Squarespace site, you need a third-party tool.
That’s actually fine. Most built-in chat tools on website platforms are afterthoughts: basic widgets that create a separate inbox you have to monitor. The better approach is choosing a chat tool that fits into how you already manage customer communication.
Here’s how to add live chat to a Squarespace site, which tools are worth considering, and how to set it up for team use without creating another inbox nobody checks.
Squarespace is popular with service businesses, creatives, agencies, and small e-commerce brands. These are exactly the types of businesses where live chat has the biggest impact.
A potential client browsing your portfolio at 11am has a question about your availability. If the only option is a contact form, they fill it out and move on to the next provider. If there’s a chat widget, they get an answer in two minutes and book a call.
A customer shopping your Squarespace e-commerce store wants to know if a product comes in a different color. By the time they compose an email, they’ve already closed the tab. A quick chat message keeps them on the page and in buying mode.
For businesses running on Squarespace, chat fills the gap between a contact form (too slow) and a phone number (too much friction for most visitors). It’s the communication channel that matches how people actually behave on websites: they want a quick answer without committing to a phone call.
Since Squarespace doesn’t have native chat, you’ll add it by pasting a JavaScript snippet into your site. This is the same approach used for analytics tools, tracking pixels, and other third-party integrations. Squarespace makes it straightforward through their Code Injection feature, no coding skills required.
The snippet loads a small chat widget on your site (usually a button in the bottom corner). When a visitor clicks it, a chat window opens. Messages from visitors route to whatever platform you’re managing the chat from.
The key decision isn’t which widget looks the nicest. It’s where those conversations end up and how your team handles them.
Note: Code Injection is available on Squarespace Business plans and higher. The Personal plan doesn’t support custom code, so you’d need to upgrade before adding any third-party live chat tool.
There are dozens of chat tools that work with Squarespace through code injection. Here are the six worth shortlisting, organized by what they’re actually best at.
Prices below reflect annual billing unless noted. Monthly billing on most of these tools runs 20-40% higher. Verified April 2026; spot-check current tiers before buying.
| Tool | Best for | Free tier | Starting paid plan |
|---|---|---|---|
| Missive | Teams handling email and chat together | Up to 200 chats/month free | Pay-as-you-go via Twilio |
| Tawk.to | Solo operators on a tight budget | Unlimited (with branding) | $19/month to remove branding |
| Crisp | All-in-one chat plus AI chatbot | 2 seats, limited features | $45/month (Mini, 4 seats) |
| Tidio | Squarespace e-commerce stores | 50 conversations/month | $29/month (Starter) |
| Olark | Simple per-agent live chat | 1 agent, 20 chats/month | $19/agent/month (2-yr) |
| LiveChat | Established support teams | 14-day trial only | $20/agent/month |
Free for up to 200 active chats per month, then $0.03 per additional chat (paid directly to Twilio). Missive accounts start free for up to 3 users; paid plans from $18/user/month.
Missive is an email client built for teams that also handles live chat, SMS, and WhatsApp in the same inbox. Chat messages from your Squarespace site show up next to your emails, with the same team collaboration features: assignments, internal notes, shared visibility, and rules-based automation.
The setup uses Twilio’s Conversations API as the backend, which means you only pay for what you use (and most small businesses stay within the free tier indefinitely). Best fit for service businesses, agencies, and small e-commerce teams that already deal with email-heavy communication and don’t want chat to become a separate silo.
Free with unlimited agents and unlimited chats; $19/month to remove branding.
Tawk.to has been the dominant free option in this category for over a decade. Unlimited agents, unlimited chats, no time limits. The catch is that the free version displays a “Powered by Tawk.to” badge, and the interface feels older than the paid alternatives. If your priority is “I just need a chat widget and I don’t want to pay anything,” this is the answer.
Free plan with 2 seats; Mini at $45/month (4 seats); Essentials at $95/month (10 seats); Plus at $295/month (20 seats). Per workspace, not per agent.
Crisp combines live chat, shared inbox, AI chatbot (Hugo), and a knowledge base into a single platform. Pricing is per workspace rather than per agent, which makes it more predictable as your team grows. The catch is that AI features are usage-capped on lower tiers and the seat limit forces a jump to Plus once you cross 10 people. Best fit for early-stage teams that want one tool to cover chat, email, and basic automation.
Free plan (50 conversations); Starter $29/month; Growth $59/month; Plus $749/month. Lyro AI add-on starts at $39/month for 50 AI conversations.
Tidio leans heavily into e-commerce, with native Shopify, WooCommerce, and BigCommerce support. The Lyro AI agent is well-regarded for handling repetitive product questions. The pricing model is based on billable conversations plus separate AI add-ons, which can get unpredictable as volume grows. Best fit for Squarespace e-commerce stores that want chatbot automation alongside live chat.
Free plan (1 agent, 20 chats/month); Standard $29/agent/month monthly, $23/agent/month annual, $19/agent/month with 2-year commitment.
Olark is a straightforward live chat tool. No AI bells and whistles in the base plan, no shared inbox sprawl, just chat. PowerUps (cobrowsing, visitor insights, translation) are individually priced add-ons. Best fit for teams that already have a help desk or CRM and just need a clean chat layer on top.
Starter $20/agent/month annual; Team $41/agent/month annual; Business $59/agent/month annual; Enterprise custom.
LiveChat is the only tool on this list with an official Squarespace Extension, which means setup is a one-click connection rather than code injection. It’s also the most mature platform of the group, with deep reporting, agent groups, and chat takeover features built for high-volume support teams. Best fit for established teams already running structured support workflows who want a chat tool that fits that operating style.
Two questions cut through most of the comparison:
Where do chat conversations need to land? If your team already handles customer email together (shared inbox, assignments, internal notes), pick the tool that pulls chat into that same workflow. If chat is a standalone channel handled by a dedicated team, a chat-focused tool is fine.
How predictable is your volume? Per-agent pricing (Olark, LiveChat) scales linearly. Per-workspace (Crisp) and conversation-based (Tidio) can swing wildly. Pay-as-you-go via Twilio (Missive) stays at zero until you actually have chat volume, then scales penny by penny.
For most service businesses and small teams running on Squarespace, the answer is whichever tool already fits how the team handles email. Splitting chat into a separate inbox is the trap most Squarespace site owners fall into; pick a tool that prevents it.
Missive brings chat messages from your Squarespace site into the same inbox as your emails, SMS, and WhatsApp, with the team collaboration features built in. Here’s the setup:
Missive Live Chat is powered by Twilio’s Conversations API. Sign up at twilio.com and copy your Account SID and Auth Token from the Twilio dashboard.
In Missive, go to Settings > Accounts and add a Missive Live Chat account. Paste in your Twilio credentials. The backend connection takes about 30 seconds.
From Missive’s Setup page, customize the chat widget to match your Squarespace site. You can adjust the primary color, button position, border radius, font, welcome message, and whether visitors need to provide their name and email before chatting.
For Squarespace sites specifically, a few tips:
Copy the HTML code snippet from Missive’s Setup page. Then:
That’s it. The chat widget will appear on every page of your Squarespace site immediately. No plugins to install, no app store to browse, no theme modifications.
If you want the widget on specific pages only, you can add the snippet to an individual page’s Code Injection settings instead of the site-wide footer.
Set up the live chat account to flow into a Team Inbox in Missive. This means incoming chat messages appear alongside your emails in a shared queue. Team members can assign conversations, leave internal notes, and respond, all without switching between tools.
For service businesses on Squarespace (agencies, consultants, studios, property managers), chat often starts with a potential lead and turns into an ongoing client relationship. The conversation might begin on chat, move to email for a proposal, and come back to chat months later with a quick question.
In Missive, all of that stays connected:
Assign chats like you assign emails. When a chat comes in, grab it from the team inbox. Your coworkers know it’s handled. If you need to hand it off, reassign it.
Internal discussion on the thread. Need to check pricing with your partner before quoting a visitor? @mention them in the internal chat. They see the visitor’s question and respond to you, the visitor never sees it.
Merge conversations across channels. When the chat visitor later emails you from the address they provided, merge the two conversations. Full history in one place.
Canned responses for repeat questions. If you get the same questions about pricing, availability, or process, save them as canned responses. Insert them in one click during chats.
Be available or be upfront about it. Squarespace sites often represent businesses where the team is small, sometimes just one or two people. If you can’t monitor chat all day, use Missive’s “hide when offline” setting to only show the widget during your working hours. Alternatively, show the widget with a message like “We typically respond within an hour” so visitors know what to expect.
Use chat as a lead qualifier. For service businesses, not every visitor is a good lead. A quick chat exchange can tell you whether someone is a serious prospect or a casual browser, before you invest time in a full email exchange or discovery call.
Connect chat to your booking flow. Many Squarespace sites use Acuity Scheduling or Calendly. When a chat conversation reaches the “let’s set up a call” moment, drop a booking link right in the chat. The transition from “interested visitor” to “scheduled prospect” happens in under a minute.
Review chat logs monthly. What questions do visitors ask most? If “What do you charge?” is the top question, your pricing page isn’t clear enough. If “Do you work with [specific industry]?” keeps coming up, add those industries to your services page. Chat data is free market research.
No. Squarespace doesn’t include a native live chat feature on any plan. You add live chat by pasting a third-party widget’s code snippet into Squarespace’s Code Injection feature, available on the Business plan and higher.
Yes. Tawk.to is fully free with unlimited agents (with branding). Missive Live Chat is free for under 200 active chats per month via your own Twilio account. Tidio, Crisp, and Olark all have free tiers with seat or conversation limits.
Yes. Every chat tool covered above lets you adjust colors, position, fonts, and welcome messages. The widget should match your site’s accent color and brand voice, since it’s effectively a permanent UI element on every page.
Yes, but only if you cross the free tier. Missive Live Chat uses Twilio’s Conversations API as the backend. Under 200 active chats per month is free. Above that, you pay Twilio directly at metered rates (typically a few cents per chat). The advantage is you only pay for what you use, with no fixed monthly fee for the chat backend itself.
Instead of pasting the code snippet into Settings > Advanced > Code Injection (which adds it site-wide), open the specific page’s settings, scroll to the Advanced tab, and paste the snippet into that page’s Code Injection field. The widget will only appear on that page.
Live chat connects visitors to a real person in real time. A chatbot uses scripted flows or AI to answer common questions automatically. Most modern tools (Crisp, Tidio, LiveChat, Missive with AI rules) offer both, with chatbots handling repetitive questions and live chat handling everything else.
Missive brings live chat, email, SMS, and WhatsApp together in one collaborative inbox. Add the widget to your Squarespace site and manage every conversation from a single place. Try it free.