Getting started with SendOps takes just a few minutes. Create an account, explore the demo workspace to familiarize yourself with the product, then complete the Setup Guide to connect your own AWS environment.

## Sign up


  <Step title="Go to app.sendops.dev">
    Open [app.sendops.dev](https://app.sendops.dev) in your browser. Click **Sign up** to begin.

  </Step>
  <Step title="Choose a sign-up method">
    You can create your account using:

    - **GitHub** — sign in with your GitHub account.
    - **Google** — sign in with your Google Workspace or personal Google account.
    - **Email and password** — enter your full name, email address, and choose a password (minimum 8 characters).

    Check the box to agree to the Terms of Service and Privacy Policy, then click **Create account**.
  </Step>
  <Step title="Sign in">
    After creating your account, you are redirected to the sign-in page. Enter the credentials you just created and click **Sign in**.
  </Step>


## Demo workspace

After your first sign-in, you land in the **Demo Workspace** — a fully populated environment with sample data so you can explore the product before connecting your own AWS account. The demo includes example reports, identities, channels, and templates so you can see how everything fits together.

A banner at the top of the page reads **"Exploring with sample data."** When you are ready to set up your own workspace, click **Switch to your workspace**.

## The Setup Guide

When you switch to your own workspace, you land on the **Setup Guide** — a four-phase process that connects your AWS account and confirms everything is working end to end. You can always return to the Setup Guide from the sidebar.


  <Step title="Phase 1: AWS Integration">
    Connect your AWS account to SendOps. Choose between two methods:

    - **Automated Setup** <Badge>Recommended</Badge> — select your AWS region, then click **Launch CloudFormation Stack** to open the stack in your AWS console. The stack provisions the IAM role automatically. Once the stack is created, a link to the IAM role in CloudFormation appears to help you find and copy the Role ARN.
    - **Manual Setup** — create the IAM role yourself using the policy document provided. The Setup Guide shows the full policy in both CloudFormation and Terraform formats with a copy button.

    Both methods include:

    - **AWS Region selector** — choose the region where your SES is configured.
    - **Permission breakdown** — expandable categories showing exactly which permissions are requested: Account & Identities, Configuration Sets, Email Templates, Suppression List, Contact Lists, Resource Tagging, EventBridge, and Stack discovery. Each category shows the number of permissions it contains.
    - **"Never accessed" badges** — a list of AWS services SendOps will never touch (EC2, S3, RDS, Lambda, Billing, IAM write, CloudWatch Logs) for transparency.
    - **Role ARN field** — after creating the role (via either method), paste the Role ARN and click **Validate** to confirm permissions.

    <Callout type="info" title="Don't have AWS access?">
      Click **"Delegate this step"** to send setup instructions to a teammate or AWS admin who has the required access. They will receive everything they need to complete the AWS Integration on your behalf.
    </Callout>

    <Callout type="info" title="Already connected this AWS account?">
      A single AWS account can back more than one SendOps organization. If the account you enter is already connected to another organization, SendOps detects it and lets you **join the existing connection** instead of deploying a second CloudFormation stack.
    </Callout>

    <Callout type="warning" title="Deploy the stack in the region you send from">
      The CloudFormation stack and its EventBridge rule are region-specific. If SendOps later finds your stack in a different AWS region than the one you selected, validation flags the mismatch — re-check the **AWS Region selector** so it matches the region where your SES sending (and stack) actually live.
    </Callout>

    See [AWS Integration](/aws-setup/connecting-aws) for a detailed walkthrough of both methods.
  </Step>
  <Step title="Phase 2: Connection Validation">
    Verify that your CloudFormation stack deployed correctly and your SES configuration is active. Click **Run Validation** to check all components. The validation runs through 11 checks:

    - **SES Configuration Set** — confirms the configuration set exists.
    - **EventBridge Rule** — verifies the event rule is found.
    - **Webhook Target** — checks the webhook endpoint is connected.
    - **Channel Management** — validates configuration set management permissions.
    - **Channel Settings** — confirms channel settings permissions.
    - **Email Templates** — verifies email template management permissions.
    - **Contact Lists** — verifies contact list access (`ses:ListContactLists`) so your SES contact list can sync.
    - **SES enabled in region** — confirms SES is active in your selected region.
    - **Account status** — reports whether you have production access or are in sandbox mode.
    - **Sending limits** — displays your daily sending quota and max send rate.
    - **Verified identities** — detects how many identities are already verified in your SES account.

    Each check shows a green pass or red fail status. If your account is in SES sandbox mode, the **Account status** check passes with a yellow warning instead of green.

    If any check fails, click **Retry Validation** after resolving the issue, or go **Back** to Phase 1 to adjust your configuration.
  </Step>
  <Step title="Phase 3: Domain Verification">
    Add and verify your sending domains and email identities, and review the other SES resources SendOps picked up:

    - **Domain Identities** — your verified sending domains. Columns: Identity and Verification status. Click **Add Domain** to register a new one. Each domain row is expandable to show DNS details and has per-row re-sync and delete actions.
    - **Email Identities** — individual email addresses verified in SES. Columns: Identity and Verification status. Click **Add Email Identity** to verify a new address. Each row has re-sync and delete actions.
    - **Configuration Sets** — SES configuration sets discovered in your account, which you can adopt as SendOps channels.
    - **Contact Lists** — a read-only summary of the SES contact list SendOps imported, showing the total contacts and topics. Contact lists can be large, so individual contacts are not listed here and there is nothing to adopt — they import automatically.

    If you already have identities in SES, click **Sync from AWS** (shown on first visit) or the **Re-sync** button to import them. You can also re-sync individual identities using the icon on each row.

    <Callout type="warning" title="Deleting identities">
      The delete action on each row removes the identity from your AWS SES account, not just from SendOps. This is permanent and cannot be undone.
    </Callout>

    See [Adding a Domain](/domains/adding-a-domain) for detailed instructions on domain setup and DNS configuration.
  </Step>
  <Step title="Phase 4: First Test Send">
    Confirm the full pipeline is working by sending a test email. Enter a recipient address in the **Send test to** field and click **Send Test Email**.

    Once delivered, you will see an **"Email delivered and confirmed"** success message showing the From and To addresses and a timestamp — confirming end-to-end delivery through your SES setup. You can click **Send another test** to verify additional addresses.

    <Callout type="warning" title="SES sandbox">
      New SES accounts start in **sandbox mode**, which limits you to sending only to verified email addresses. You will need to request production access from AWS to send to any recipient. See [SES Sandbox & Production](/sending-email/ses-sandbox) for details.
    </Callout>
  </Step>




## After setup

Once all four phases are complete, your dashboard begins populating with live email data. From here you can:

- **Explore the Messages dashboard** to trace individual emails and review delivery events.
- **Set up Channels** to organize your sending identities by purpose.
- **Invite team members** and assign roles so your colleagues can access the data they need.
- **Configure notifications** to get alerted when bounce rates spike or domains need attention.

## What's next?

If you have not yet connected your AWS account, head to [AWS Integration](/aws-setup/connecting-aws) to begin the setup process. For a closer look at the permissions SendOps requests, see [IAM Permissions Explained](/aws-setup/iam-permissions).