Our stack for acquiring and retaining customers

We’ve been building for 12 months and thought it would be a good time to share the constellation of tools that we’re using to power our customer experience.

Some quick definitions

The acquisition of customers splits into two buckets:

  • Self-serve requires no input from our teams. Customers visit the website, sign up with a credit card, and install the product. These customers will hear from us from a retention perspective, but we keep this as minimal as possible.
  • Sales-serve is a more involved process where our Sales team work with customers to provide quotes, contracts, invoices, and more.

This blog post will focus on the sales-serve process as it requires several additional tools (which is a little more interesting to write about for a tools-based blog post!).

Step 1: Acquiring customers

In the acquisition phase, the most important thing is to provide a smooth and personalised experience from initial contact through to signing contracts. We use a suite of tools to make this possible:

  • Sales CRM: Close
  • Scheduling: Calendly
  • Market Intelligence: Clearbit
  • Billing: Stripe
  • Contracts: Juro
  • Security: Vanta, Skypher
  • Gluing everything together: Retool, Zapier

Managing sales interactions

Customers either head to our website to get in touch, or we reach out to them. In both cases, the interaction is logged in Close.

Close is the source of truth for each prospective customer. Sales have a single place to get information about a customer (emails, notes, meetings scheduled). A feature that is particularly powerful is the ability to connect multiple inboxes, allowing the entire team to see all communications with a prospective customer in an “activity feed”. Close also comes with smart views (e.g. “Top 100 must-win customers”), pipeline tracking (demo, won, lost, etc.), and the ability to automate emails based on a number of factors (e.g. quick intro, follow up email one day later).

The single-most important feature of Close (or any Sales CRM) is that we have a single place that tracks all of our interactions, shared between our entire team.

A typical view of an account in Close

Scheduling with customers

When a customer is “ready to talk”, a scheduling link is shared. Calendly gives customers complete control over when they want to meet. They fill out some basic information, get routed to the right person Sales person, and select the best slot. All of this happens without any email back-and-forth.

A Calendly form used to book meetings with customers

Glueing together scheduling and customer interactions

Zapier is the “virtual glue” between systems that don’t have native integrations. For example:

  1. Add/update prospective customers to Close when they fill out the “request a demo” form on our website
  2. Enrich company information in Close with data from Clearbit (e.g. team size, website, industry, and more - a time-saving!)

A Zap to add customers that have filled out the qualification form to Close, and send an update to Slack when this has happened

A Zap to update new leads in Close with information from Clearbit

💡 We love Slack at, and have a number of “pulse” channels for monitoring a variety of interactions across our business. In this case, #inbound-pulse is used to share a message when companies are signing up for demos or starting a trial. Other examples of “pulse” channels include #nps-pulse (for NPS survey results), #contracts-pulse (for successfully signed contracts), and more.

Quoting customers for services

Stripe handles “all things payments”. It gives us an easy way to establish “tiers” for our products, and then bill customers in a frictionless way. For self-serve customers, they can enter their card details, and then Stripe will take care of billing them each month for their chosen plan. It also gives us an interface for refunds, receipts, and all sorts of other accounting-related things.

For sales-serve customers, Stripe gives us some added flexibility. Quotes are Stripe’s way of aligning on a price with the customer before writing up a contract. Sales can build a quote in under a minute and double-check it meets the customer's requirements. If everyone is happy, Sales can go ahead and convert it into an invoice and kick off the contracting.

A quote in Stripe

Signing contracts with customers

Juro is the tool for creating, sending, and signing contracts. This streamlines our contracting process to a single tool, rather than working across Google Docs, email, and then DocuSign. Juro also has functionality for approval workflows (e.g. "Charlie must approve all contracts over $10,000 before they are sent for signing"), basic version control, and more.

A key benefit here is increasing the correctness of our contracts . All contracts are created from templates, and Sales only need to answer a series of 5—8 questions and the contract is automatically populated with validated inputs. This helps to reduce the number of unnecessary errors (e.g. quoting in £ vs $), or when moving contracts from Google Docs to DocuSign.

Juro in Kanban view to show the status of all contracts

Automating contracts from quotes

When our Sales team want to move even faster, we built an application in Retool to automatically create contracts in Juro when provided with a Stripe quote. This application grabs information like the customer name, address, and email from a Stripe quote, along with all the agreed-upon quote terms, and populates the contract with the required information. It also embeds a hidden field on the contract that links back to the quote which it was created from - full traceability!

Our Retool application allows Sales to automatically generate contracts based on quotes created in Stripe

Proving credentials to customers

Customers (rightly!) question the credentials of companies they interact with to ensure that they comply with their own requirements. These requests often happen in the form of a questionnaire (via email or a third-party system) asking for evidence about security postures.

Vanta holds all of our security policies and documents. It also integrates with our monitoring systems to provide a single interface where customers can validate that security standards are met. Sales can share a link to the Vanta interface, requiring no input from compliance or engineering.

For more in-depth questionnaires, Sales can self-serve in the Skypher knowledge base. Questionnaires are uploaded, and Skypher then populates answers based on a confidence threshold. Most importantly, all outputs from Skypher are checked and approved by a human (with knowledge of our security practices). The questionnaire is then exported to the original format and shared with the customer. We also set reminders to update answers to ensure that everything stays up-to-date.

Using Skypher is a significant time-saving from the days of copying and pasting responses from disparate policies into each survey.

A Vanta page (accessible by a custom URL) containing security-related documentation and information

The Knowledge Base stored in Skypher to assist Sales with answering security questionnaires

Tidying up the loose ends…

Once the customer is satisfied with the price and our credentials, a contract is signed. Zapier listens for when this happens, then converts the Stripe quote into a Stripe subscription, and emails the customer an invoice. This process requires no input from Sales.

A Zap to listen for when a contract is fully signed, and then convert the Stripe quote into an active subscription.

When a Stripe subscription is created, the application gets a message and activates a fully featured version of the application. At this point, Customer Success takes over to ensure we retain the customer for years to come!

Step 2: Retaining customers

We want to delight our customers, and we use a number of different tools to make this a reality:

  • Customer Success Platform: Vitally
  • Support: Intercom, Loom, Productboard
  • Gluing everything together: Retool, Zapier

Tracking customer metrics

Vitally is the backbone of our Customer Success team. It synchronises with our product metrics and calculates a “health score” which helps us understand where customers may not be getting the most out of the product. Vitally is also integrated with Stripe to ensure Customer Success has visibility into how much each customer is paying.

Customer dashboard in Vitally showing health metrics

In addition to the relationship management aspects of Vitally, Playbooks can be used to cohort users and trigger conversations at various parts of the user journey. An example is to email users within one day of their first incident, asking how it went and if there were anything they’d like to have see.

Vitally Playbooks

Supporting customer queries

Handling many inbound queries can be challenging when siloed to a traditional inbox. Intercom streamlines this experience. Intercom Messenger is available throughout the customer journey, from the first point of contact on our website, to inside our web application.

Anything sent to a support email address is also triaged through Intercom. By having a single interface, it makes things easier to triage (and to remember the historical context!). For our self-serve customers we can also surface relevant articles to help them get answers quickly.

The Intercom Messenger, with links to the help centre

When supporting our customers, it’s sometimes challenging to clearly articulate a concept in writing via Intercom. Loom allows Customer Success to record a screen capture within seconds, show their face for that personalised feeling and speak over the top of the recording. Customers love the personal touch, and it’s often time-saving to grab a 60-second Loom in what would take 5 minutes to author coherent written prose.

A Loom video sent to a customer

The final piece in supporting customer queries is Productboard. It serves as the primary interface between our Product team and Customer Success. When product feedback arrives in Intercom, it is tagged as “feedback”, which sends it straight over to a triage queue in Productboard. If the query lands in Slack, it’s just as easy to tag a message and fire it off to the triage queue. This ensures that when we release a feature in the future, all customers that have requested this feature can be informed!

Productboard is used a place to drop all customer feature requests, which are prioritised and moved over to other tracking tools

The Customer Success control centre

We built a Retool application to stick together product configuration and Customer Success. All functionality created by our Engineering team behind a feature flag is added to this dashboard, ensuring that Engineering isn’t the bottleneck for enabling features. For example, if a customer requests additional functionality (e.g. API access), this dashboard provides a place to enable it without any code changes. The control centre also links the various other systems (Stripe, Vitally, etc.). It’s the single link you need to remember when dealing with customer queries.

A Retool dashboard that enables Customer Success to customise the application for each customer, as well as access all information about that customer

Connecting Customer Success and Sales

You guessed it, Zapier is the right tool for the job when connecting these teams. Whenever our Sales team create customer notes in Close, we also sync them with Vitally. In the same way, Vitally notes get sent to Close! By synchronising notes, both teams can continue to use the systems they’re comfortable with but with a shared understanding.

A Zap to synchronise notes from Close to Vitally


At, we use many tools to make acquiring and retaining customers as streamlined as possible for our teams. These systems are glued together using utilities such as Zapier and Retool. We hope that by using a combination of targeted tools we can make the customer experience feel genuine and personal whilst giving us the space to scale efficiently. Of course, many other products fulfil similar purposes to those we're using, so this guide should be used to make broad strokes rather than a detailed implementation plan.

If you're keen to learn more about anything mentioned in this blog post, or if you'd like to let us know why we're wrong (and the tools we should be using!), reach out to Charlie on LinkedIn.

Picture of Charlie Kingston
Charlie Kingston
Product Manager