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

# Send Email

> Send formatted emails with support for HTML, plain text, and JSON templates using workflow variables.

# Send Email

The Send Email step allows you to send emails from your workflows. Emails can include dynamic content using workflow variables and support multiple formats.

## Overview

Send Email steps are essential for:

* User notifications and alerts
* Transactional emails
* Marketing campaigns
* Automated follow-ups
* Status updates and confirmations

## Configuration

When you add a Send Email step, you'll configure:

### Recipient Email

Enter the email address of the recipient. You can use workflow variables to dynamically set the recipient:

```
{{user.email}}
```

<Note>
  The recipient email is required. You can use workflow variables from trigger events or previous steps to set the recipient dynamically.
</Note>

### Subject

Enter the email subject line. Use workflow variables to personalize subjects:

```
Welcome, {{user.name}}!
```

### Email Body

Configure the email body content. You can use:

* **HTML Editor**: Visual editor for creating rich HTML emails
* **Plain Text**: Simple text emails
* **JSON Templates**: Advanced template-based emails

#### HTML Emails

Use the HTML editor to create rich, formatted emails with:

* Text formatting (bold, italic, headings)
* Links and buttons
* Images
* Custom styling

<CodeGroup>
  ```html HTML Email Example theme={null}
  <h1>Welcome, {{user.name}}!</h1>
  <p>Thank you for signing up. Your account is now active.</p>
  <a href="https://example.com/dashboard">Visit Dashboard</a>
  ```

  ```text Plain Text Example theme={null}
  Welcome, {{user.name}}!

  Thank you for signing up. Your account is now active.

  Visit Dashboard: https://example.com/dashboard
  ```
</CodeGroup>

#### Using Variables

Insert workflow variables into email content using the `{{variable.name}}` syntax:

* **From triggers**: Use variables from your trigger event
* **From previous steps**: Use output from HTTP requests or other steps
* **System variables**: Access built-in variables like timestamps

<CodeGroup>
  ```html Example: Using Variables theme={null}
  <p>Hello {{user.name}},</p>
  <p>Your order #{{order.id}} for ${{order.amount}} has been confirmed.</p>
  <p>Expected delivery: {{order.deliveryDate}}</p>
  ```

  ```text Example: Dynamic Content theme={null}
  Dear {{user.firstName}} {{user.lastName}},

  Your subscription to {{plan.name}} is now active.
  Expires on: {{subscription.expiryDate}}
  ```
</CodeGroup>

## Email Sending Domain

Emails are currently sent from:

```
Flowripple <noreply@notification.flowripple.com>
```

<Info>
  Custom domain configuration will be available soon. This will allow you to send emails from your own domain.
</Info>

## Example Use Cases

### Welcome Email

Send a welcome email when a user signs up:

```
Trigger (Event: User Signs Up)
  ↓
Send Email
  To: {{user.email}}
  Subject: Welcome to {{company.name}}!
  Body: HTML email with welcome message and onboarding links
```

### Order Confirmation

Send order confirmation emails:

```
Trigger (Event: Order Created)
  ↓
Send Email
  To: {{order.customerEmail}}
  Subject: Order Confirmation #{{order.id}}
  Body: HTML email with order details, items, and tracking information
```

### Password Reset

Send password reset emails:

```
Trigger (Event: Password Reset Requested)
  ↓
HTTP Request (Generate Reset Token)
  ↓
Send Email
  To: {{user.email}}
  Subject: Reset Your Password
  Body: HTML email with reset link containing {{resetToken}}
```

### Follow-up Sequence

Create a follow-up email sequence:

```
Trigger (Event: User Signs Up)
  ↓
Send Email (Welcome Email)
  ↓
Time Delay (3 days)
  ↓
Send Email (Feature Introduction)
  ↓
Time Delay (7 days)
  ↓
Send Email (Tips and Best Practices)
```

## Best Practices

<AccordionGroup>
  <Accordion title="Personalize Content">
    Use workflow variables to personalize email content with user names, custom data, and dynamic information. Personalized emails have higher engagement rates.
  </Accordion>

  <Accordion title="Test Email Rendering">
    Test your emails in different email clients to ensure they render correctly. HTML emails may appear differently across clients.
  </Accordion>

  <Accordion title="Include Clear CTAs">
    Use clear call-to-action buttons or links in your emails to guide recipients to the desired action.
  </Accordion>

  <Accordion title="Keep Subjects Concise">
    Email subjects should be clear and concise. Use variables to personalize while keeping the subject line under 50-60 characters when possible.
  </Accordion>

  <Accordion title="Validate Email Addresses">
    Ensure recipient email addresses are valid before sending. Invalid addresses will cause email delivery failures.
  </Accordion>
</AccordionGroup>

<Tip>
  Use the HTML editor's variable picker to easily insert workflow variables into your email content. This ensures correct syntax and prevents errors.
</Tip>

<Warning>
  Be mindful of email sending limits and rate limits. Sending too many emails too quickly may result in delivery issues or account restrictions.
</Warning>

<Note>
  Email delivery status is tracked and available in workflow execution logs. Failed deliveries are logged with error details for debugging.
</Note>
