Pre-Black Friday: 20% off, for as long as you stayEARLYBFon Solo and AgencyEnds Nov 28Start free

How-to guide

How to Organize Google Workspace for Personal and Sales Email (Gmail, Labels and Filters)

One inbox, two lanes. Set up aliases, labels and filters in about 40 minutes, then keep personal addresses out of your cold lists.

Get your free API key →Free to start. No credit card. 1,000 records to spend whenever you like.

TL;DR

  • Keep one Workspace inbox and split it with a sending alias, three labels and two filters. It takes about 40 minutes.
  • Sort the people you write to by address type: work or personal. LeadOcean tags this as emailType, and counts are free.
  • The whole recipe spends 0 records. The optional check in Step 4 reads 25.

Prerequisites

  • A Google Workspace (formerly G Suite) account where you can edit Gmail settings. Aliases and routing rules may need an admin.
  • A LeadOcean API key in $LEADOCEAN_API_KEY. The free plan works: 1,000 records for life, no card, 5 requests a second.
  • curl and jq on your machine.

Step 1: Add a sales alias and send from it

Use a separate sending address for sales so replies land in a lane you can filter. Add sales@acme.com as an alias, then choose it as the default "From" for outbound.

text
Gmail > Settings > See all settings > Accounts > Send mail as > Add another email address
Name:  Jane Doe (Acme)
Email: sales@acme.com
Treat as an alias: checked

Personal mail keeps jane@acme.com. Cold outreach never goes out from it, so sales replies never mix with personal mail. The alias shares your domain, so domain reputation is still shared. Google documents the alias steps at support.google.com/mail/answer/22370 (October 2026).

Step 2: Create three labels

Labels are your folders. Three is enough: Sales/Prospects, Sales/Customers, Personal.

text
Gmail > Settings > Labels > Create new label
Sales/Prospects
Sales/Customers
Personal

Nest the two sales labels under Sales so the sidebar collapses to one row.

Step 3: Add two filters that route mail

Filters route by the address a message was sent to. Replies to your alias go to Sales/Prospects and skip nothing. Mail from your own family and friends domains goes to Personal.

text
Filter 1
  To:   sales@acme.com
  Do:   Apply label "Sales/Prospects", Never send to Spam

Filter 2
  From: (gmail.com OR outlook.com OR icloud.com) -to:sales@acme.com
  Do:   Apply label "Personal"

Search operators work the same in the search box and in filters, so test each one in search first. Google lists the operators at support.google.com/mail/answer/7190. It lists the filter steps at support.google.com/mail/answer/6579 (October 2026).

Step 4: Tag prospects as work or personal before you mail them

Cold mail to a personal address mixes your two lanes. Ask LeadOcean for the address type up front, so your sales list holds only work addresses.

Size the list first. The count is free:

bash
curl -s -X POST "https://api.leadocean.io/v1/people/search?count=true" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jobLevel": ["C-Team"],
    "country": ["US"],
    "employeeRange": ["1-10"],
    "emailType": ["work"],
    "emailStatus": ["verified"],
    "limit": 1
  }' | jq '.meta'

meta.total is capped at 100,000, so a list this wide reads as a floor (totalIsExact false). The MCP tool leadocean_count_leads returns the exact figure.

Then pull a small sample of the work-address list. Page size is 25 records here, so this spends 25.

bash
curl -s -X POST https://api.leadocean.io/v1/people/search \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jobLevel": ["C-Team"],
    "country": ["US"],
    "employeeRange": ["1-10"],
    "emailType": ["work"],
    "emailStatus": ["verified"],
    "limit": 25
  }' | jq '.meta'

work means the address is at the person's current employer. work_other is a business address at a different company, usually a former employer, so ask for it only on purpose. personal is webmail.

Step 5: Mirror the split in your inbox

Create one label per address type and apply it to replies. This keeps reply analysis honest later.

text
Gmail > Settings > Labels
Sales/Prospects/Work
Sales/Prospects/Personal

Filter 3
  From: -(gmail.com OR outlook.com OR icloud.com)  to:sales@acme.com
  Do:   Apply label "Sales/Prospects/Work"

If your sequencer pushes replies back through Gmail, the to: match on the alias is what keeps this working.

What you get

I ran leadocean_count_leads on 2026-10-21. Filters: jobLevel C-Team, country US, employeeRange 1-10, emailStatus verified.

emailTypeMatching peopleDistinct employers
work460,005about 363,756 (estimate)
personal5,2104,681

The work list is about 88 times larger than the personal one. You lose almost nothing by dropping personal addresses. These are verified-status counts, not a delivery guarantee.

Response shape from the API reference, with placeholder values:

json
{
  "success": true,
  "data": [
    {
      "profile_data": { "profile_full_name": "Jane Doe", "profile_headline": "Founder at Acme" },
      "contact_data": {
        "has_email": true,
        "email_status": "verified",
        "email_type": "work",
        "contact_current_experiences": [{ "...": "company name, domain, job title" }]
      },
      "meta": { "source_ids": { "person_id": "1234567890" } }
    }
  ],
  "meta": { "count": 25, "nextCursor": "(opaque string)" }
}

Troubleshooting

ErrorCauseFix
401Missing or wrong x-api-key headerCheck $LEADOCEAN_API_KEY is exported in this shell.
429Above the plan's rate limit (5 a second on Free, 200 on Agency)Honor the Retry-After header, or space your calls.
402Records spent (Free is 1,000 for life)Run counts only, or see pricing.
Empty resultsA bad enum value, such as Work instead of workEnum values are exact strings. Call leadocean_list_enum_values.
Filter does not match mailAlias not set as "Treat as an alias", or typo in the addressRe-test the filter in the Gmail search box first.
Export refusedOver 50,000 rows a request or 500,000 a dayNarrow the filters and split the export.

FAQ

Do I need two Google accounts to separate personal and sales email?

No. One Workspace account with a sales alias, labels and filters is enough. Use a second account only if your admin policy forbids aliases.

What does emailType mean in LeadOcean?

It is the kind of the person's best email. work is at their current employer, personal is webmail, and unknown is an address we cannot classify. See work email vs personal email.

Should I ever cold email a personal address?

Rarely. Keep it out of the default list and treat it as an opt-in segment. Read personal email templates if you do.

Does this work with LinkedIn Sales Navigator leads?

Yes, if you export the leads and enrich them. See the Sales Navigator primary email guide.

Does the count cost records?

No. A count, a breakdown and an empty page cost nothing. Only the 25-row sample in Step 4 reads records.

Tag every prospect as work or personal before you send

Free to start. No credit card. 1,000 records to spend whenever you like.

Get your free API key →