# An email domain for every customer

Connect \*.yourapp.com once. Every customer who signs up gets their own acme.yourapp.com — sending and receiving the second they exist, without anyone touching DNS.

[Get started](/signup)
[Documentation](https://docs.aiinbx.com/guides/domains#wildcards-and-subdomains)

Example: \*.northwind.io is connected once, and every customer gets a subdomain under it (harbourly.northwind.io, rheinbau.northwind.io, lindmetall.northwind.io, werkhaus.northwind.io) that sends and receives from the moment it exists, with 1,248 more, each created by one API call at signup.

Onboarding

## Sending on day one, not day four

Asking a customer to set up DNS means waiting on whoever at their company holds the registrar login. A subdomain under your wildcard skips them: it works the moment your code creates it.

Signing up on Monday with their own domain, harbourly.com, a customer waits on their IT to publish DNS records until Wednesday and sends a first email on Thursday, once DNS verifies. Under your wildcard, harbourly.northwind.io sends its first email straight after sign-up.

Why platforms use it

## Like yourapp.vercel.app, for email

A working default, so nobody is blocked on DNS before they have seen your product work. Their own domain is still the best place to end up — this is how they get started.

1.  Day one: acme.northwind.io

    Live at sign-up

    They send and receive the minute they sign up. No domain to buy, no records to publish, no waiting on IT.

2.  Building and testing: acme-staging.northwind.io

    Throwaway

    Dev, staging and test accounts get real, working addresses — without anyone touching a production domain.

3.  When they're ready: mail.acme.com

    Their own domain

    They connect their own domain for their brand and their own reputation. The subdomain got them there.

How it works

## Set up once, then one call per customer

1.  ### Connect \*.yourapp.com

    Publish a few DNS records in your own zone, one time. That is all the DNS there will ever be.

2.  ### Create one at sign-up

    One API call from your signup handler. It is verified the moment it exists.

3.  ### Send and receive

    Straight away, from any address under it. Replies arrive on your webhook.

Step 1, domains.create: in your signup handler.

```
const domain = await aiinbx.domains.create({
  name: `${customer.slug}.northwind.io`,
})
```

Step 2, emails.send: the very next line.

```
await aiinbx.emails.send({
  from: `hello@${domain.name}`,
  to: customer.email,
  subject: "Your inbox is live",
  text: welcome,
})
```

### Your own email is untouched

Only the subdomains route to AI Inbx. Your team keeps receiving wherever they do today.

### One domain on your plan

A wildcard counts once, however many customers you give a subdomain to.

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

[Get started](/signup)
