Cold email for Gmail and Google Workspace
Follow up until they reply. Then stop.
Laravel sends your prospecting sequences from your own Gmail account, during the hours you pick. When a prospect writes back, it cancels the rest of their follow-ups.
Sign in with Google to start. The free plan needs no credit card.
Thread with Dana Whitfield
Onboarding six new SDRs at Kestrel
-
Maya Chen to Dana
Mon 9:14 AMHi Dana, congrats on the Series B. Hiring six SDRs at once usually means a long ramp before anyone books a meeting. We get new reps to their first meeting in about half the usual time. Open to 15 minutes next week?
-
Maya Chen to Dana
Thu 9:02 AMHi Dana, bumping this in case it got buried. Happy to send a two-minute video instead of a call.
-
Dana Whitfield to Maya
Replied Thu 11:47 AMHi Maya, timing is actually good. Our new hires start on the 14th. Does Tuesday at 2pm ET work?
Dana Whitfield
VP of Sales, Kestrel Freight
Sequence
-
Intro email
Sent Mon 9:14 AM
-
Follow-up in the same thread
Sent Thu 9:02 AM
-
Case study
Cancelled
-
Break-up email
Cancelled
Dana replied. Laravel cancelled the last two steps.
- Sends from your own address
- Follow-ups in the same thread
- Out-of-office replies ignored
- One-click unsubscribe built in
How it works
From a CSV to a running sequence in four steps
-
1. Connect Gmail
Sign in with Google and pick the mailbox to send from. Emails go out as you and sit in your Sent folder like any other email.
-
2. Add your prospects
Upload a CSV or add people one by one. Every column becomes a field you can use in an email, like
{{company_name}}or{{role}}. -
3. Write the sequence
Write the first email, then add follow-ups. Each one waits as long as you tell it to and checks a condition first, such as "has not replied".
-
4. Launch
Choose who gets it, the sending hours and a daily cap, then start the campaign. Laravel does the sending from there.
Features
Everything between the first email and the reply
Reply detection
Nobody gets a follow-up after they've answered
Laravel watches the mailbox you send from. When a prospect replies, it cancels their remaining follow-ups, whether the reply comes an hour later or a month later.
- Out-of-office messages and other automatic replies don't count, so a vacation responder won't end a sequence.
- Follow-ups can wait for an open or a click, and can go out as a reply in the same thread.
- Want to keep going after a reply? Switch off the stop for that sequence.
Initial email
Onboarding {{open_roles}} new SDRs at {{company_name}}
Hi {{first_name}}, congrats on the round. Hiring {{open_roles}} SDRs at once usually means a long ramp before anyone books a meeting.
Follow-up
Re: Onboarding {{open_roles}} new SDRs at {{company_name}}
Follow-up
Case study
Follow-up
New subject line
Sending schedule
Emails go out at 9 a.m., not 3 a.m.
Each campaign has its own time zone, sending hours, weekdays and daily cap. Add blackout dates for holidays or a launch week. When a campaign reaches its cap, the rest wait for the next sending day.
- Connect more than one Gmail account. If a mailbox is disconnected or has hit its daily limit, Laravel sends from another one.
- Your dashboard shows how much of each mailbox's daily limit you've used.
Sending schedule
- Time zone
- Eastern Time (New York)
- Hours
- 8:30 AM to 5:30 PM
- Days
- Mon Tue Wed Thu Fri Sat Sun
- Daily cap
- 60 emails
- Blackout dates
- Nov 26 Dec 24 Dec 25 Dec 31
Sending today
-
[email protected] 312 of 2,000
-
[email protected] 1,480 of 2,000
-
[email protected] is disconnected. Its campaigns send from the other two mailboxes until you reconnect it.
Personalization
Write it once. Each prospect gets their own version.
Use any column from your CSV in the subject or the body. Give a field a default, so a missing first name becomes "there" instead of a blank.
- Preview the email with a real contact's details before it goes out.
- Send yourself a test to see exactly what lands in the inbox.
Template
Onboarding {{open_roles}} new SDRs at {{company_name}}
Hi {{first_name}}, congrats on the round. Hiring {{open_roles}} SDRs at once usually means a long ramp before anyone books a meeting.
What each prospect gets
Onboarding six new SDRs at Kestrel Freight
Hi Dana, congrats on the round. Hiring six SDRs at once usually means a long ramp before anyone books a meeting.
Results
Reply rate first. Opens without the bots.
Apple Mail's privacy proxy and corporate link scanners open every email they see, which makes open rates look better than they are. Laravel counts only opens that look human, and puts replies at the top of every report.
- Sequence reports show how many people each step reached and how many of them replied.
- Export any campaign to CSV.
Q4 outbound: heads of sales
412 contacts- Replies
- 53
- 12.9% of contacts
- Opened
- 46%
- Human opens only
- Bounced
- 5
- All suppressed
Replies by step
- Intro email 412 sent
- 21 replies
- Follow-up 386 sent
- 17 replies
- Case study 369 sent
- 9 replies
- Break-up email 360 sent
- 6 replies
The details
The unglamorous parts, handled
- Bounces are suppressed
- A hard bounce marks the address as undeliverable, and no campaign emails it again.
- One-click unsubscribe
- Every email has an unsubscribe link and the one-click unsubscribe header that Gmail and Yahoo expect. People who opt out stay out.
- No double sends
- If Gmail times out in the middle of a send, Laravel checks your Sent folder for that exact message before it tries again.
- Duplicate check
- A report lists prospects who are in more than one campaign, so you can take them out before they get two sequences at once.
- Pausing keeps everyone's place
- Pause a campaign and every contact stays on their current step. When you resume, they carry on from there.
- Headers, not contents
- To spot replies and bounces, Laravel reads message headers. It doesn't read what's inside the emails in your inbox.
Pricing
Every plan has every feature
Plans differ only in how many contacts, campaigns, mailboxes and emails you get. Change or cancel your plan from the billing page whenever you like.
Free
Try GmailFlow with a single inbox and a small list.
Free
- 100 contacts
- 3 campaigns
- 1 Gmail account
- 500 emails / month
Recommended
Pro
For individuals and small teams running regular outreach.
$49 /month $490 /year
- 1,000 contacts
- 50 campaigns
- 5 Gmail accounts
- 5,000 emails / month
Enterprise
High-volume sending across many inboxes.
$199 /month $1,990 /year
- Unlimited contacts
- Unlimited campaigns
- Unlimited Gmail accounts
- 50,000 emails / month
FAQ
Before you connect Gmail
Do the emails come from my own address?
Yes. Laravel sends through the Gmail API as you, so every email comes from your address and shows up in your Sent folder. Replies land in your inbox as usual.
What happens when someone replies?
Laravel cancels the rest of their sequence and lists the reply on your dashboard. Out-of-office messages and other automatic replies are ignored. A bounce doesn't count as a reply either. It suppresses the address instead.
Does it work with Google Workspace?
Yes. You can connect Google Workspace mailboxes and personal Gmail accounts.
How much can I send per day?
Each campaign has a daily cap you set, and your plan has a monthly allowance. Google also limits how many emails one mailbox can send per day, so for more volume, connect several mailboxes. When one reaches its limit, Laravel switches to another.
Can prospects tell I use a tool?
The email comes from your address, with no "via" line. If you turn on open or click tracking, the email carries a tracking pixel and its links go through a redirect on Laravel's domain. Turn tracking off and prospects get exactly what you wrote, plus the unsubscribe link.
Can I try it before paying?
Yes. The free plan costs nothing and has lower limits, and paid plans start with a 14-day free trial.
Can I get my data out?
Yes. You can export everything in your account, or delete it, from your settings at any time.
Start with one sequence
Connect Gmail, import a list and write your first three emails. Replies land in your inbox, and the follow-ups stop on their own.