> For the complete documentation index, see [llms.txt](https://docs.airdev.co/applications-platform-template-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.airdev.co/applications-platform-template-reference/general-information/functionality/emails.md).

# Emails

Dynamic "pretty" email functionality

Your app will not use Bubble’s native “send email” functionality, but instead use our own sendGrid API workflow that generates a nicely-formatted HTML email from the system.

To start using this feature, please set up your SendGrid email by following [this step in our Quickstart Guide](https://docs.airdev.co/canvas/quickstart-guide#step-2-setting-up-your-email).

![send\_email API workflow in Canvas: App Foundation template](https://1504701494-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdukpFHinhBRguGr-7T%2F-Ldv0OTHjRLFUYw5rVQX%2F-Ldv0QvVcQtrxdrNiVJR%2Fscreen-shot-2019-03-11-at-12.51.17-pm.png?generation=1556842146208467\&alt=media)

To send a nicely-formatted HTML email, go to the `Workflows` tab > select `Custom Events` > Select `Schedule API workflow` > select `send_email` from the API workflow dropdown and set the scheduled date to `Current date/time`.

![](https://1504701494-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdukpFHinhBRguGr-7T%2F-Ldv0OTHjRLFUYw5rVQX%2F-Ldv0QvXYZUVQM81K4fE%2Fscreen-shot-2019-03-11-at-1.03.58-pm.png?generation=1556842146387461\&alt=media)

Fill out the email content in the additional fields.

* **from\_name (required)** - *\*\**&#x53;ender's name to display
* **from\_email (required)** - Sender's email
* **reply\_to\_email (optional)** - Sender's alternative email (if reply to email is different from from\_email)
* **to\_emails (required)** - Receiver's email (can be a comma separated list)
* **cc\_emails (optional)** - Carbon copy emails (can be a comma separated list)
* **bcc\_emails (optional)** - Blind carbon copy emails (can be a comma separated list)
* **subject (required)** - Email title / subject
* **body (required)** - Write `<br>` for a line break (since the parameter is a single line). Dynamic text (e.g., from a multiline input) will handle line breaks automatically.
  * Image in the body: `<img src='https:image’s url’ width=‘518’/>`
  * Link in the body:  `<a href="link url">Words to be hyperlinked</a>`
* **button\_text (optional)** - By default, there will be no button added to the email. However, if this field isn't empty, an action button will be added.
* **button\_link (optional)** - The link which the button is linked to
* **attachment (optional)** - If this is used, the file will be sent along with the email
* **button\_color (automatically populated)** - This is added from the field `Primary Color` on the Website object
* **signature (automatically populated)** - By default this will be `The [app name] team` but you can add a different text in this field to override it
* **logo** - By default, this is added from the field `Logo light` on the `Website` object, but you can also add a different logo in the API workflow parameter to override it.&#x20;
