Cold outreach

Build your outreach tool, not its email

You bring the leads, the copy and the sequence. We give you the pieces it runs on.

Email in

  • Categorieshuman
  • Suppressionsopted out

Your code

Your outreach tool

Leads, copy, sequences

sequence.next(lead)

Email out

  • Pacing30 / day
  • Sending hours9am per region
  • Scheduling+3 days

Pacing

Warm up a new domain slowly

Queue the whole list at once. A limit per sending address lets it out a few dozen a day, the pace inbox providers trust.

Pacing
rate limitPer sender
from *@northwind.io
30 per day · sender
Mon
Tue
Wed
Thu
Fri
sent that daywaiting

Sending hours

Land at nine in their morning

One hours rule per region, matched on the lead's domain: *.de on Berlin time, *.com.au on Sydney's. Queue at midnight and those leads hear from you at the start of their day.

Sending hours

Queued Monday 23:40, your time

  • DR

    Dana Ruiz

    Tue 09:00

    *@*.de · Berlin hours

  • PR

    Priya Raman

    Tue 09:00

    *@*.com.au · Sydney hours

Scheduling

Book the follow‑up with the intro

Schedule the second email when you send the first. Until it goes, you can move it or cancel it with one call.

Scheduling
  1. Tue 09:14

    sent

    Brushed 3mm sheet for Lind Metall

  2. Fri 09:00

    scheduled

    Just bumping this ↑

Categories

Know which replies are people

Every email that comes back is labelled. An out-of-office is not an answer, and your sequence can tell.

Categories
  • Dana Ruiz

    Out of office until Friday

    out of office
  • Cadence Health

    We received your request

    auto-reply
  • Marco Lind

    3mm sheet – quick call?

    human

Suppressions

Stop means stop, in every campaign

Most people don't click unsubscribe, they write back. We read that as one, and no later send reaches them.

Suppressions
IK

Iris Kaplan

“Not for us — please take me off your list.”

Added to your suppressions

Next campaign: the new 4mm range

Not sent

Put together

Your sequence, in three calls

1emails.sendthe intro
const intro = await aiinbx.emails.send({  from: "nora@northwind.io",  to: "dana@lindmetall.de",  subject: "Brushed 3mm sheet for Lind Metall",  text: pitch,  unsubscribe: true,})
2threads.replythe follow-up
const followUp = await aiinbx.threads.reply(intro.thread_id, {  text: "Just bumping this",  scheduled_at: inDays(3),})
3email.receiveda person answered
if (event.type === "email.received" && event.data.category === "human") {  await aiinbx.emails.cancel(followUp.id)}

Give your product an inbox. The hard parts are already handled.

Get started