Brian Casel
Brian Casel

A System For Selling

by Brian Casel on March 31, 2014
See what I was up to that year · Subscribe

How do you bring in a steady, predictable stream of new customers every month?

Answering that question has been my focus over the past month for my SaaS business, Restaurant Engine.  I’m knee-deep in operation growth, and this has been my most recent project:  Rethinking and re-building our CRM and sales operation to position us for month-over-month growth (is this what the cool kids are calling “Growth Hacking” these days?  Anyway…)

Today, I’ll share the exact CRM system I’ve built using Trello and Gravity Forms, along with our strategies for calling and following up with leads, and collaborating as a team.

But first, let’s walk through some high-level strategery…

You see, up until now, we’ve relied exclusively on our content marketing effort, which has helped us solidify a baseline level of traffic, leads and customers — all from organic sources.  This has been a great first step.

But content and organic sources alone aren’t enough.  The resulting growth comes in drips and drabs, some periods heavier than others.  It’s slow, it’s difficult to track and even harder to optimize.

I’m looking for a stream.  A steady, predictable, high-volume stream of traffic, leads, and sales.  A system.  An operation that can continuously be refined, improved, and incrementally scaled up month after month.

So that’s what I’m building.  Piece by piece, I’ve developed our system for selling new customers and growing our SaaS.  Today, you’ll get a look at what this system looks like.  Consider this “Version 1”.  I’m happy with how it’s working and the results we’re seeing.  But it’s far from complete, and we’ll be making improvements every month for the foreseeable future.

But it’s a start…

System Requirements

Remember when you’d go to CompUSA to shop for software and before buying, you had to read the side of the box, where it read (in super fine print) “System Requirements”?  Those were the days…

Well, when you’re designing a system to plug into your business, you’ve got to pay attention to the system requirements for your business.  That is, make sure that the system you’re building fits with your strengths, your resources, and your particular market.

In my case, I identified a few “System Requirements” for Restaurant Engine’s sales system:

  • No cold calls…  In my opinion, cold calls are a waste of time.  The response rate is far too low to justify the time investment.  As a bootstrapped company, we have to spend our time wisely.  Cold calling isn’t a wise use of our time.
  • …But lots of phone conversations.  Although we’re not “cold calling”, we are spending lots of time on the phone with customers.  As much as I’d prefer to work exclusively over email and chat, avoiding the phones just isn’t a reality when you’re selling to restaurants.
  • Education-based.  We already excel at education-based content marketing.  This must work hand-in-hand with our sales system.
  • Remove myself.  Although I have become quite comfortable with sales calls over the past year, I recognize it’s not my strength.  I need to spend my time on other things.  So I brought in a new person to take over most of these sales calls.  A key requirement of this system is it must allow for easy collaborate with my sales team.
  • Remote.  My team is 100% remote.  That means our systems must play nicely with a remote working environment.
  • Efficient.  I want to spend our time wisely.  That means we must spend all of our time communicating with customers and practically no time fumbling around our CRM, doing manual data entry, etc.  All of the “mechanics” must be automated.
  • Trackable.  At any given time, we need the ability to open up our CRM and check on the status of any prospect.  Who’s handling it?  When was the last conversation and what was discussed?  When is the next followup?  It all must be there, at our fingertips.
  • Measurable.  We must have ways to measure how we’re doing from month-to-month.

Now that we’ve laid out our priorities for our ideal sales system, let’s go through the tools and procedures we’ve put in place:

Top of the Funnel

Restaurant Engine gathers new leads from a number of sources, and these sources change on a monthly basis as we try new things.  But all of our lead generation activities have one thing in common:

Gravity Forms

Gravity Forms (for WordPress) has been my forms system of choice for years.  It’s incredibly powerful, flexible, customizable, and most importantly, the easiest to integrate with other pieces of the puzzle.

We have quite a few forms throughout our website.  Contact form, consultation request form, forms on our lead-gen landing pages, opt-in forms on our blog, and more.  The set of fields vary from form to form, but most collect a few pieces of key info from the prospect:

  • Name
  • Email
  • Phone Number
  • Restaurant Name
  • Restaurant Site URL (if any)


Currently, we use MailChimp to manage our email list.  All of our gravity forms integrate with our Mailchimp list, using the Gravity Forms Mailchimp Add-On.

New subscribers in Mailchimp typically receive some form of educational content, like a checklist PDF or an email course.  After that, they’re on our list to receive new content from us weekly.

So while we’re pursuing phone conversations with new prospects, they’re also receiving educational content from us via email.  This supports our sales process because as they become more educated about the technology and best practices, they become more aware of the value that our product offers.


Trello is our CRM (customer relationship manager).  I tried lots of others, but I came back to Trello for a few reasons:

  • I love the visual “cards” system.  Every customer gets a card, which holds all of the relevant info.  Then we drag and drop that card from list to list as they progress through the sales funnel.
  • It’s designed for team collaboration.  My team and I assign ourselves to each lead, so we know who is communicating with which leads.
  • Trello allows for more integration than any other tool, which I’ll explain in a minute…

This is our "Leads" board in Trello. Each list represents a different lead source.

This is our "Leads" board in Trello. Each list represents a different lead source.

Every lead's card looks something like this. All of their info, a checklist procedure, and ongoing notes.

Every lead's card looks something like this. All of their info, a checklist procedure, and ongoing notes.

Integrating Gravity Forms & Trello using Zapier

HelpForWP sells a nifty plugin for integrating Gravity Forms & Trello.  However, I ended up using Zapier instead.  Zapier allows me to integrate multiple Gravity Forms with multiple Trello lists.  It also provides lots of flexibility and customization.

Zapier is a tool for integrating (almost) any app with any other app.  Both Gravity Forms and Trello have “Zaps” available for use within Zapier, which basically means they’ve made their API’s available to connect with other apps using Zapier’s easy interface.

Look at the 2nd screenshot above, showing the detail of one card (for one lead) in Trello.  Everything you see there has been automatically created using the Gravity Forms/Trello integration via Zapier.  Here’s what happens:

  1. A visitor fills out one of our Gravity Forms on our site.
  2. A new card is created in Trello, placed in the list that this particular Gravity Form is associated with (each list is a different lead source).  The person’s name and Restaurant Name become title of the card.
  3. The customer’s info, which they had entered into the Gravity Form, is populated in the description area of the Trello Card.  Using Markdown, I formatted this so that it’s easy to read.
  4. I also told Zapier to add a Checklist to every new card, which is a procedure that my sales team follows for every new lead.
  5. Finally, I told Zapier to set a “Due Date” for every new card, 72 hours after the creation date.  This gives us 3 days to contact the lead before Trello starts telling us we’re falling behind.

With a steady stream of new leads, complete with their contact info and restaurant info, we’re ready to start making calls and reaching out.

Phone calls & Emails

Every new lead receives a call from us within one or two business days.  Remember, these are not cold calls.  We’re calling people who have expressed interest in our product and submitted their contact info.  So they’re expecting our call and welcome the conversation.

Once we reach out to a new lead, the first thing we do is move their card into a separate Trello Board, named “Sales Conversations”.

Our "Sales Conversations" Trello Board. Each list represents a different phase in the sales cycle.

Our "Sales Conversations" Trello Board. Each list represents a different phase in the sales cycle.

In our “Sales Conversations” Trello board (seen above), each list represents a different phase in the sales cycle.  As of now, these lists are:

  •  Attempted 1st Contact – When we’ve called a new lead, but couldn’t reach them yet, we place their card here.
  • 1st Conversation – We move their card here once we’ve connected with the lead and had our first conversation.  At this point, we enter some notes as “Activity” on that card, about what we talked about and what the next steps are.
  • Pending – We move their card here after we’ve had a 2nd followup call and/or email conversation.  In this phase we’re in regular communication with the prospect while they’re making their decision to sign up (or not).
  • Signed Up – Cards are moved here once they convert from being a prospect to a customer.  They’ve signed up 🙂
  • Didn’t Sign Up – If the prospect specifically tells us it’s a no go, we place their card here (but we always try to learn what were the deal breakers).
  • Couldn’t Make 1st Contact – If after 2 phone attempts and emails without making that 1st connection, we move the card here.

Grasshopper Phone Number

For a while, I simply used my office land-line as the business phone number for Restaurant Engine.  But now that my team is growing, and we’re fully remote, the land-line just isn’t workable.

That’s where Grasshopper comes in.  I created a new phone number on their system, and it allows my team and I to operate one phone number from different locations.

In our case, the killer feature of Grasshopper is the ability to set a schedule for where the phone rings.  As of this writing, we have 2 people working the phones.  Myself, and Ashley, our newest team member.  She’s based in California, while I’m in Connecticut.  When someone calls our company number, I want it to ring Ashley’s phone, but only during her working hours.  All other hours, it should ring my office.  And during off-hours, it should go straight to voicemail.

Another cool feature is the ability to transfer a call.  Ashley can place a caller on hold and transfer it to me.  She can even stay on the line and get me up to speed on the customer’s inquiry.  This doesn’t happen often, but it’s nice to have this ability.

HelpScout for Email

We’ve been using HelpScout to manage all of our customer support email.  It’s fantastic.  I love how it’s completely invisible to the customer.  All they see is a regular email conversation.

We’ve now begun using HelpScout for all of our pre-sales email conversations as well.  This works great for the following reasons:

  • We have a single email address —, managed by multiple (remote) team members.  Any of us can hop in and out of any email thread at any time.
  • We can see if/when a customer has viewed an email from us.  Great to see whether our first contact attempts are getting through.
  • We can add private notes alongside email conversations.  This has been super useful for our customer support emails, relaying technical, “behind the scenes” messages, but it also comes in handy when collaborating on tricky pre-sales questions from prospects.

Sales Script?

We don’t have those.  Creating a carefully worded sales script doesn’t work for us for a few reasons:

  • Every customer is different.  Some are quite tech savvy, some are not.  Some are established restaurant owners, some are startups.  Some aren’t even restaurant owners, but consultants.  We can’t speak the same way to every customer.
  • Multiple lead sources.  We approach leads differently depending on how they found us.
  • Our unique personalities.  I hire outstanding communicators.  It’s the #1 thing I look for (in any position).  I want them to speak and relate to customers however they feel works best for them.  I think having rigid sales scripts limits the potential of great communicators.

Another important reason I stay away from sales scripts is I prefer to do more listening than talking.  I typically start most calls off by saying, “So, tell me about your restaurant” and then “Can I answer any questions about our service?”  Then I sit back, listen, and learn.

What I’m listening for are things that this customer values.  What are the key parts of their business?  Which features are they asking lots of questions about?  What would make our product a win for them?  By listening and hearing them out, I’m able to tailor our conversation accordingly.  I’m giving them the precise information they seek.  But more importantly, I’m proving that we care enough to listen and make this the right fit for them.

But wait — My goal is to remove myself from doing the sales calls, remember?  So how can I transfer my knowledge and sales experience to a new hire?

Documentation.  I created three Google Docs and included them in our set of operating procedures.  Those three docs are:

  • Key Benefits – The 3-5 key benefits our product offers.  It’s our unique value proposition.  Our goal is to make sure our customer understands the value we offer, and that starts with our team fully understanding it.
  • Common Questions & Answers – Answers to the most commonly asked questions I’ve heard over the past 2 years of doing sales calls.
  • Common Objections & Responses – How to respond to common objections like “It’s too expensive” or “I like XYZ alternative better”.

I don’t ask my team to recite the answers word for word.  They’re intended to educate my team so that they can confidently talk about our product, in their own way.


The key component that makes this entire sales system work is not any app, or metric, or magic sales script.  It’s the simple act of following up.

I can’t stress this part enough.  Time and time again, I’m reminded of the power of the followup. For Restaurant Engine, a large portion of our signups wouldn’t have happened had we not made a 2nd or 3rd followup call or email.  This even goes back to my years of consulting.  When I learned to follow up with leads, I found it easier to close more of those contracts.  In many cases, it seemed as if the client or customer was waiting for me to followup, just to see if I cared enough for their business.

In our sales system for Restaurant Engine, we ensure that every lead gets a follow up.  How?  By assigning a “Due Date” in Trello. Every card in Trello has a due date assigned to it at all times.

When the card is first created (automatically, via Zapier), it automatically has a due date to attempt first contact.  If no answer, we reset the due date for tomorrow and try again.  Once we’ve had our first conversation, we’ll set the due date again for next week to make a followup call.  Customer signed up?  Set a followup reminder for 2 weeks after to check in and make sure things are going smoothly (and maybe ask for a testimonial).  Always.  Follow.  Up.

Like I said, we use “Due Dates” in Trello for our followup reminders.  Since we’re working with a high volume of leads (cards), Due Dates make it easy to visually see which ones need a followup. Just find the ones with the red “past due” marking.

Another tool I absolutely love (and still use quite a bit) is  This was my followup reminder system for years before Trello. Just Forward or BCC your emails to or or and it will send you an email back on that date to remind you.  Simple and effective.

To Be Improved…

There are a few things I plan to implement to help improve and optimize our system.  But instead of getting bogged down in these technical perfections, I decided to take a lean startup approach:  Get this up and running quickly, learn, iterate, refine, and improve.

But there is much to be improved and enhanced.

  • For example, using Gravity Forms, we can grab variables from the URL, like utm_source and utm_term and populate them into hidden form fields.  That means we can add info such as the traffic source and keyword query the lead used to reach us.  That all gets included in the submitted form info, which is then ported into the Trello card.  HelpForWP has an interesting plugin, Google Analytics Tracking for Gravity Forms, which seems to help with this as well.
  • Another possible enhancement might be to build in a way to “rate” new leads as our conversations unfold.  A higher rating would mean the prospect is more interested and closer to signing up.  We can then focus more of our attention on the higher rated leads.  We can make use of labels in Trello for this.

So… Can I call myself a “Growth Hacker”?

(I’d rather not)