# Setup AWS SES Account

### What is AWS SES Integration?

AWS SES (Simple Email Service) is a scalable and secure email service provided by Amazon Web Services.\
By integrating AWS SES with BotPenguin, you can:

* Send automated emails from chatbot flows
* Deliver order confirmations, alerts, and notifications
* Ensure high email deliverability and reliability
* Use your own verified business email address

***

### Prerequisites

Before starting, ensure the following:

* An active **AWS account**
* **AWS SES enabled** in your AWS account
* Verified **Sender Email Address** or **Domain** in AWS SES
* AWS IAM user with **SES permissions**
* Access to **AWS Access Key ID** and **Secret Access Key**

> ⚠️ If your AWS SES account is in **Sandbox mode**, you must verify recipient email addresses or request production access.

### Steps to Onboard on AWS <a href="#steps-to-complete-integration" id="steps-to-complete-integration"></a>

#### Step 1: Set up your AWS account <a href="#step-1-set-up-your-aws-account" id="step-1-set-up-your-aws-account"></a>

Navigate to the following link to create your AWS account

{% embed url="<https://signin.aws.amazon.com/signup?request_type=register>" %}
aws
{% endembed %}

#### Step 2: Verify your domain and email <a href="#step-2-verify-your-domain-and-email" id="step-2-verify-your-domain-and-email"></a>

**Domain Verification:**

1. **Log in to the AWS Management Console:**
   * Go to the [AWS Management Console](https://aws.amazon.com/).
   * Navigate to the Amazon SES console.
2. **Verify a Domain:**
   * In the SES console, navigate to the "Domains" section.
   * Click on the "Verify a New Domain" button.
3. **Enter Domain Name:**
   * Enter the domain name you want to verify.
   * Click on the "Verify This Domain" button.
4. **Add DNS Records:**
   * AWS SES will provide you with DNS records (TXT records) that you need to add to your domain's DNS settings.
   * Copy the provided records and add them to your DNS provider (e.g., Route 53, GoDaddy, etc.).
5. **Wait for Verification:**
   * It might take some time for DNS changes to propagate. Wait until the domain is verified in the SES console.

**Email Address Verification:**

1. **Log in to the AWS Management Console:**
   * Go to the [AWS Management Console](https://aws.amazon.com/).
   * Navigate to the Amazon SES console.
2. **Verify an Email Address:**
   * In the SES console, navigate to the "Email Addresses" section.
   * Click on the "Verify a New Email Address" button.
3. **Enter Email Address:**
   * Enter the email address you want to verify.
   * Click on the "Verify This Email Address" button.
4. **Confirmation Email:**
   * AWS SES will send a verification email to the specified address.
   * Open the email and click on the verification link provided.
5. **Wait for Verification:**
   * After clicking the verification link, wait for the email address to be verified in the SES console.

**Note:**

* Verification processes may vary slightly depending on updates to the AWS SES console.
* Ensure that you have the necessary permissions to modify DNS records for domain verification.

#### Step 3: Set up SES Credentials <a href="#step-3-set-up-ses-credentials" id="step-3-set-up-ses-credentials"></a>

To create an IAM user with full access to AWS SES (Simple Email Service) but without console access, you can follow these general steps. Please note that you should have appropriate IAM permissions to perform these actions:

**Create a New User**

1. In the IAM console, click on "Users" in the left navigation pane.
2. Click on "Add user" to create a new user.
3. Enter a username for the new user.
4. Choose the type of access (programmatic access for AWS CLI, SDK, etc.).

**Step 3: Attach Existing Policies**

1. On the "Set permissions" page, select "Attach existing policies directly."
2. In the search box, type and select "AmazonSESFullAccess." This policy grants full access to SES.
   * You can also create a custom policy with the required SES permissions if needed.

**Review and Create**

1. Click through the remaining steps to review your choices.
2. On the last step, review the details and click "Create user."

**Step 5: Download or Copy Access Credentials**

1. After creating the user, you'll be prompted to download the access credentials (Access key ID and Secret access key).

* **Important:** Ensure you securely store these credentials as they will be needed for programmatic access.

#### Step 4: Obtain the necessary Details <a href="#step-4-obtain-the-necessary-details" id="step-4-obtain-the-necessary-details"></a>

**Get the access key and secret key**

* Click on the IAM user for which you want to create access keys.
* Go to the "Security credentials" tab.
* Under the "Access keys" section, click on "Create access key."
* After creating the access key, you'll be prompted to download the credentials.
* If you don't download them, you can copy the access key ID and secret access key manually.

**Get AWS Region**

* The SES resources (email sending, etc.) are associated with a specific AWS region. Identify the AWS region where you want to use SES.
* This information can be found in the AWS Management Console, typically at the top right corner.

**Get From Email**

From email is the same as the email that you have created in verified entities.

#### Step 5: Save the configuration <a href="#step-5-save-the-configuration" id="step-5-save-the-configuration"></a>

Once you have all the details, Save them on the BotPenguin agency panel. Done!

***

### How to Integrate AWS SES in BotPenguin

#### Step 1: Open Email Integration Settings

1. Log in to your **BotPenguin Dashboard**
2. Navigate to **Integrations**
3. Select **Email Integration**
4. Click on **Configure** button

You will see the **Add Email Integration Details** screen.

<figure><img src="/files/SrLaeuErIkETwmKDX2wE" alt=""><figcaption></figcaption></figure>

***

#### Step 2: Fill in Email Configuration Details

Click on Add Configuration Button

<figure><img src="/files/WuBaIrk3g1xEIc9iXNqO" alt=""><figcaption></figcaption></figure>

Enter the following fields carefully:

**1. Configuration Name**

* A friendly name for this email setup
* Example: `Default`, `Production Email`, `Marketing Email`

***

**2. AWS Region**

* Enter the AWS region where SES is enabled
* Example values:
  * `us-east-1`
  * `eu-west-1`
  * `ap-south-1`

> The region **must match** the region where SES is configured.

***

**3. AWS Access Key ID**

* Enter the IAM user’s **Access Key ID**
* This key allows BotPenguin to authenticate with AWS SES

***

**4. AWS Secret Access Key**

* Enter the corresponding **Secret Access Key**
* Keep this confidential

***

**5. From Email**

* The verified email address in AWS SES
* Example: `support@yourdomain.com`

> Emails will be sent **from this address**.

***

**6. Sender’s Name**

* The display name shown to recipients
* Example: `BotPenguin Support`, `Your Brand Name`

***

**7. Reply-To Email (Optional)**

* Email address where replies should be received
* If not provided, replies go to the **From Email**

***

#### Step 3: Save Configuration

* Click **Add Configuration**
* Your configuration will appear in the configuration list

***

#### Step 4: Test Email Configuration

* Click **Test Email**
* If the test email is delivered successfully, the integration is complete

<figure><img src="/files/DeVfUtCp5IkJKV5OKhx4" alt=""><figcaption></figcaption></figure>

***

### Managing Email Configurations

#### View Configuration Details

* Click the **info (ℹ️)** icon to see masked credentials and sender details

<figure><img src="/files/wxIpXYetHs6heFrJeM4K" alt=""><figcaption></figcaption></figure>

#### Enable / Disable Configuration

* Use the **Status toggle** to activate or deactivate an email configuration

#### Edit Configuration

* Click the **Edit (✏️)** icon to update details&#x20;

<figure><img src="/files/HMh26caTAiEZG0KyjVza" alt=""><figcaption></figcaption></figure>

#### Delete Configuration

* Click the **Delete (🗑️)** icon to remove the configuration

<figure><img src="/files/fS0U19f4dRAAt6LOzq8Q" alt=""><figcaption></figcaption></figure>

***

### Common Issues & Troubleshooting

#### Emails Not Delivered

* Ensure SES is out of **Sandbox mode**
* Verify sender email or domain in AWS SES
* Check AWS Region matches SES region

***

#### Invalid AWS Credentials

* Recheck Access Key ID and Secret Key
* Ensure IAM user has SES permissions:
  * `ses:SendEmail`
  * `ses:SendRawEmail`

***

#### Test Email Fails

* Confirm recipient email is verified (Sandbox accounts)
* Check spam/junk folder
* Verify From Email matches SES verified identity

***

### Best Practices

* Use a **dedicated IAM user** for SES
* Rotate AWS keys periodically
* Monitor SES sending limits and bounce rates
* Use branded sender names for better trust

***

### When to Use AWS SES with BotPenguin

AWS SES is ideal for:

* Transactional emails
* Order and payment notifications
* Support and alert emails
* System-generated chatbot emails

***

If you need help setting up AWS SES or face any issues during integration, contact **BotPenguin Support** with your configuration details and error message (if any).

Please feel free to reach out to us at <mark style="color:$primary;"><support@botpenguin.com></mark>, in case of any questions or concerns.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://partners.botpenguin.com/partner-platform-guidelines/integration-setup/setup-aws-ses-account.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
