> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brilo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Add an email step

> Add an email step to a Brilo campaign with a subject, a body, variables that personalise each message, attachments, and Cc and Bcc, sent from your own domain.

An email step is the one place in a campaign where you have room to explain something. It carries
attachments a call cannot and detail a text cannot, and it reaches people who ignore both. Email steps
need the Pro plan or above.

## Before you start

* A campaign. See [Build a sequence](/campaigns/build-a-sequence).
* Pro or above, and a sending address. Sending from your own domain gets delivered far more reliably than
  a generic one. See [Bring your own email domain](/integrations/email/bring-your-own-domain).
* Contacts with email addresses. Contacts without one are skipped.
* Fifteen minutes.

## Steps

<Steps>
  <Step title="Add the step">
    Open the campaign, go to **Overview**, add a step, and choose **Email**.
  </Step>

  <Step title="Choose the sending address">
    Set **Send from**. Use an address on a domain you have authenticated. A message from your own domain
    lands in the inbox, and a message from a generic address lands in spam or nowhere.
  </Step>

  <Step title="Write the subject">
    Six words or fewer, and specific. "Your Thursday appointment" beats "Following up on our call". The
    subject decides whether the rest of your work is read.
  </Step>

  <Step title="Write the body">
    Use the **+** button to insert a variable, and select text and use the link button to add a hyperlink.
    Variables are what make a bulk email read as a personal one.
  </Step>

  <Step title="Add Cc and Bcc if you need them">
    **Cc** and **Bcc** accept plain addresses and variables, so you can copy in the owner of that account
    rather than one fixed person. For example `{{custom.lead_owner_email}}`.

    Use **Bcc** for an archive address. Do not use **Cc** to copy in colleagues on a bulk send, because
    every recipient sees it.
  </Step>

  <Step title="Attach files if the email needs them">
    Add attachments from your workspace's shared attachment library, or upload new ones. Up to 18 MB
    total per email. Allowed types are PDF, images (PNG, JPG), Office documents (DOCX, XLSX, PPTX), CSV,
    and plain text.
  </Step>

  <Step title="Set who gets it and when">
    Give it a condition and a delay, usually a day or more after the call. See
    [Choose when each step runs](/campaigns/choose-when-each-step-runs).
  </Step>

  <Step title="Send one to yourself">
    Add your own address as a test contact. Check the variables filled in, the links work, the attachment
    opens, and it did not land in spam.
  </Step>
</Steps>

## You will know it worked when

The test email arrives in your inbox rather than your spam folder, every variable has been replaced with
a real value, and the attachment opens.

## Personalising with variables

Variables pull values off the contact record, so one email reads as though you wrote it for each person.
Insert them with the **+** button rather than typing them, so the key is always right.

Custom fields you have defined on contacts are available as `{{custom.<key>}}`. So a field with the key
`appointment_date` becomes `{{custom.appointment_date}}`. See
[Add your own contact fields](/contacts/add-your-own-contact-fields).

Two rules:

* **Always have a sensible fallback in mind.** A contact missing that field gets an awkward gap, and the
  reader notices.
* **Test with a contact that has the field empty**, not just one that has it filled in.

## Writing a campaign email that lands

* **One purpose per email.** If it has two asks, it gets neither.
* **Front load it.** The first sentence should say why you are writing. People read one sentence and
  decide.
* **Short paragraphs.** Two or three lines each. Most of these are read on a phone.
* **One clear link.** Same rule as texts.
* **Reference the call.** "We spoke on Tuesday about your boiler service" turns a cold email into a warm
  one, and campaigns are one of the few places you genuinely can say that.
* **Plain signature.** A block of logos and social icons is a deliverability cost with no upside.

## Deliverability, briefly

An email that is not delivered is worse than one not sent, because you think you have contacted somebody.
Three things matter most:

1. **Authenticate your domain.** This is the big one. See
   [Bring your own email domain](/integrations/email/bring-your-own-domain).
2. **Include an unsubscribe link.** It is required in many places, and mail providers treat its absence
   as a spam signal. See [Let people unsubscribe](/campaigns/let-people-unsubscribe).
3. **Do not send a large identical batch at once.** Pace the campaign. See
   [Control how fast a campaign dials](/campaigns/control-how-fast-it-dials).

## What else you can do here

* See what happened to every email the campaign sent, and why the failures failed. See
  [Read your campaign analytics](/campaigns/analytics).
* Let your agent email during a call, when the caller asks for something on the spot. See
  [Send a text or email](/actions/send-a-text-or-email).
* Branch a later step on the email step's result.

## If it did not work

**Emails land in spam.** Your domain is not authenticated, or there is no unsubscribe link, or the copy
reads like marketing. Authentication is the fix that matters most. See
[Bring your own email domain](/integrations/email/bring-your-own-domain).

**A variable printed as raw text.** The key does not match a field that exists. Insert variables with the
**+** button rather than typing them.

**A variable came out blank.** That contact has no value for the field. Check with an empty contact before
you send to the list.

**The attachment was rejected.** Either the total is over 18 MB or the file type is not allowed. Allowed
types are PDF, images, Office documents, CSV, and text.

**Some contacts were skipped.** They have no email address on the contact record.

**Nothing sends at all.** Email steps need Pro or above, and you need a confirmed sending address. See
[Plans and what they include](/supported/plans).

## FAQ

<AccordionGroup>
  <Accordion title="Can a Brilo campaign send emails automatically?">
    Yes, with an **Email** step. Set the sending address, subject, and body, add attachments if you need
    them, and set a condition and delay. Email steps need Pro or above.
  </Accordion>

  <Accordion title="Can I personalise campaign emails with the contact's details?">
    Yes. Use the **+** button to insert a variable. Custom fields on contacts are available as
    `{{custom.<key>}}`, so each recipient gets their own name, date, or reference.
  </Accordion>

  <Accordion title="Can I attach a file to a campaign email?">
    Yes, up to 18 MB total per email. Allowed types are PDF, images (PNG, JPG), Office documents (DOCX,
    XLSX, PPTX), CSV, and plain text. Files come from your workspace's shared attachment library.
  </Accordion>

  <Accordion title="Why are my campaign emails going to spam?">
    Nearly always an unauthenticated sending domain. Authenticate your own domain, include an unsubscribe
    link, and avoid marketing style copy. See
    [Bring your own email domain](/integrations/email/bring-your-own-domain).
  </Accordion>

  <Accordion title="Can I Cc or Bcc somebody on a campaign email?">
    Yes, and both accept variables as well as plain addresses, so you can Cc the owner of each account
    rather than one fixed person. Do not Cc colleagues on a bulk send, because every recipient sees it.
  </Accordion>

  <Accordion title="Do campaign emails count against my plan?">
    Yes, they count against your plan's email allowance, which starts at Pro. See
    [What counts towards my usage](/account/what-counts-towards-my-usage).
  </Accordion>

  <Accordion title="What happens to contacts with no email address?">
    They are skipped for that step and continue through the rest of the sequence, so a missing email does
    not remove somebody from the campaign.
  </Accordion>
</AccordionGroup>

## Related

* [Bring your own email domain](/integrations/email/bring-your-own-domain) for deliverability
* [Let people unsubscribe](/campaigns/let-people-unsubscribe) for the link every campaign email needs
* [Add your own contact fields](/contacts/add-your-own-contact-fields) for the variables
* [Read your campaign analytics](/campaigns/analytics) to see what was delivered
* [Add a text message step](/campaigns/text-message-step) for the shorter alternative
