# Sendocado docs

Sendocado sends welcome emails and onboarding follow-ups to new users, and stops them once they are set up. Everything in the app also works through the REST API and the MCP server, so your agent can do it for you.

## Start here

- [Quickstart](https://sendocado.com/docs/quickstart): from sign-in to a live campaign, in the app or with the API.
- [MCP setup](https://sendocado.com/docs/mcp): connect Claude Code, Cursor, Claude or any MCP client.
- [API basics](https://sendocado.com/docs/api): keys, request rules and lists, then every route by area.

## How it fits together

- **Project**: a separate space with its own contacts, campaigns, sender and settings. One account can own several projects.
- **Contact**: a person you email. Contacts have an email address, a name, a time zone, tags (like `trial`) and attributes (like `plan = pro`).
- **Campaign**: an audience plus a series of emails. The audience is built from filters on tags, attributes, signup date, opens, clicks and other campaigns. Each email waits a number of days after the one before, and an email can branch on whether the last one was opened or clicked.
- **Enrollment**: a contact’s place in a campaign. Contacts who match a live campaign’s audience join it on their own, and leave when they finish, reply, unsubscribe, or stop matching.
- **Broadcast**: a one-off email to an audience, sent now or at a time you pick.
- **Transactional email**: one email to one address, sent by your app through the API, like a receipt or a password reset.
- **Template**: reusable content you can start a campaign email, broadcast or transactional email from.
- **Sender and sending domain**: the email provider account a project sends through, and the domain verified with it. A project sends nothing until both are ready.
- **Reply**: an answer to one of your emails. Replies land in the Replies inbox and, by default, take that person out of the campaign.
- **Unsubscribed and blocked**: an unsubscribed address gets no campaigns or broadcasts. A blocked address (it bounced, reported spam, or you blocked it) gets no email at all until you unblock it.

## Merge tags

Put contact details into a subject or an email with double braces. A fallback after a `|` is used when the value is empty.

```text Merge tag examples
Hi {{ first_name | there }},
Your plan: {{ attributes.plan }}
Order {{ variables.order_number }} is on its way.
```

`first_name`, `last_name` and `email` come from the contact, `attributes.<key>` from its attributes, and `variables.<key>` from the variables you pass to a transactional email. [Email content](https://sendocado.com/docs/email-content) has the full list.

## When emails go out

Sendocado checks for due campaign emails every 60 seconds. A campaign can have a send window, such as weekdays from 9 to 17, and each contact’s own time zone is used when it is set.
