Strategy

GQ CRM for SaaS Projects and Freelancers: How the Setup Usually Looks

Both senders face the same two problems: several sending identities and pricing that grows with every email. Here's how projects, API keys, and webhooks fit together.

Published September 20, 2026

SaaS teams and freelancers don't look like each other on the surface, but they hit the same wall. Both send from more than one identity — a product domain and an outreach domain, or one domain per client — and both are billed by platforms that charge per email, per contact, or per seat as soon as volume or headcount grows.

The GQ CRM model is to keep sending on infrastructure you already pay for and charge for features instead. What that looks like in practice depends on which of the two patterns you're in.

The two senders, side by side

SaaS projectFreelancer / solo agency
Projectsone per environment or brandone per client
API keysone or two per project, held by backend servicesone per client, scoped and expiring
Main API usetransactional sends with an idempotency keyclient campaigns and hand-offs
Webhook usesuppression sync back into the appclient reporting and alerts
Plan that fitsStarter → Pro as volume growsStarter, then Pro for unlimited projects

Pattern A: a SaaS project

Separate product email from marketing email. A product domain that sends password resets and invoices has a reputation worth protecting. Put those sends in their own project with their own SMTP config and their own templates, and keep campaigns in a second project. When a campaign to an old list goes badly, your password resets are unaffected.

Send transactional mail from your backend with an idempotency key. Post a POST /api/send per business event, with Idempotency-Key derived from the event itself (an invoice ID, a tenant ID plus timestamp). If your queue replays the job — and it will — the platform returns the original response for 24 hours instead of double-emailing a customer. Scopes, expiry, and a CIDR allowlist on the key mean a leaked key can be revoked without touching the SMTP password.

Feed bounces back into your own suppression list. Subscribe to email.bounced, email.complained, and email.unsubscribed, and write them into your application's user record. Deliveries are signed, retried on a backoff schedule, and carry a delivery ID you can deduplicate on. Doing this in code, rather than in a spreadsheet, is the difference between a clean list and a slow reputation leak.

Know your ceiling before you hit it. Starter includes 10,000 emails a month and sends at up to 300 per minute; Professional raises that to 50,000 and 1,000 per minute with a priority queue. An over-quota call fails immediately with a quota_exceeded code and a data.quota object, which is a better failure mode than a surprise invoice.

Pattern B: a freelancer or solo agency

One project per client is the whole trick. Each project carries its own SMTP configuration, templates, API key, and sending history. That means one client's domain reputation can't be dented by another's list, and ending a relationship is a matter of disabling a project — not untangling shared credentials.

Hand clients a key, not your dashboard. A per-project API key with a send:email scope and an expiry date lets a client's developer trigger sends from their own system without a login to yours. Rotating it invalidates the old key immediately, which is a clean answer to "our contractor left."

Report from per-recipient data. Opens, clicks, and hard-vs-soft bounce classification are recorded per recipient, so a monthly client recap comes from the tool instead of guesswork. Tracking is available from Starter upward; the Free plan records sends but not engagement.

Plans scale with clients, not seats. Starter covers 5 projects and 3 team members at $19/month — enough for a solo operator plus a subcontractor. Professional removes the project and member limits at $49/month. Both are billed yearly at two months' discount if you prefer.

What GQ CRM doesn't do for you

Being explicit about the boundary is the point of a control plane: you still own DNS (SPF, DKIM, DMARC alignment), domain warming, list quality, and the content of what you send. GQ CRM handles the operational layer — verification before send, rate-limited delivery, per-recipient tracking, bounce classification, unsubscribe footers and List-Unsubscribe headers, and signed events — and leaves deliverability decisions visible instead of hidden behind a score.

One caveat worth stating: the Free plan is limited to 500 emails, one project, and no API or tracking. If either of the patterns above describes you, Starter is the practical entry point.

The cost shape

Because volume isn't marked up, the bill is your relay plus a flat feature fee. Amazon SES is roughly $0.10 per 1,000 emails, so 50,000 emails a month lands near $5 of AWS plus $49 for GQ CRM — and that SMTP bill stays yours, on your account, with your reputation attached to it. Compare that with platforms that price by contacts or per email and the difference is structural, not promotional.

Getting started

  1. Create one project per sending identity and connect its SMTP — How to Connect Amazon SES is the cheapest route, and Projects and API keys covers the isolation model.
  2. For product email, make your first call with the Send API quickstart and add an idempotency key per business event.
  3. Before your first campaign, import and verify your recipients, and read Domain Warming so the first send doesn't undo the next three.

If you're weighing the move against a per-email platform, the Instantly comparison works through the pricing difference line by line.