# Loops

> Documentation for Loops, the email platform for software companies.

## Docs

- [Quickstart](https://loops.so/docs/quickstart.md): Set up your sending domain in Loops, import contacts, build your first email, and trigger messages with events, the API, or integrations.
- [Quickstart for agents](https://loops.so/docs/quickstart-agents.md): Install the Loops CLI and agent skills so Claude Code, Codex, Cursor, or your coding agent can wire contacts, events, and transactional email into your app.
- [Setting up your domain](https://loops.so/docs/sending-domain.md): Steps for adding a sending domain to your account.
- [Types of emails](https://loops.so/docs/types-of-emails.md): Learn about the three types of emails that you can send with Loops: Campaigns, Workflows, and Transactional.
- [Sending your first email](https://loops.so/docs/sending-first-email.md): A guide for creating and sending emails with Loops, including setup steps and sending best practices.
- [The editor](https://loops.so/docs/creating-emails/editor.md): Loops' email editor has writing mode, themes, dynamic personalization, reusable content blocks, keyboard/Markdown shortcuts and more.
- [LMX](https://loops.so/docs/creating-emails/lmx.md): Author email content with Loops Markup Language (LMX), a structured markup for sections, components, variables, and themed styling in Loops emails.
- [Images](https://loops.so/docs/creating-emails/editor/images.md): Insert and link images in Loops emails, including dynamic images sourced from contact properties, event properties, or data variables.
- [Videos](https://loops.so/docs/creating-emails/editor/videos.md): Email clients do not widely support embedded video. Instead use an image or GIF.
- [Links](https://loops.so/docs/creating-emails/editor/links.md): Add static and dynamic links to text, images, and buttons in Loops emails, append UTM parameters, and control per-link click tracking.
- [Buttons](https://loops.so/docs/creating-emails/editor/buttons.md): Add styled, clickable buttons to your Loops emails.
- [Social icons](https://loops.so/docs/creating-emails/editor/social-icons.md): Add a row of social platform icons to your Loops email footer.
- [Dividers](https://loops.so/docs/creating-emails/editor/dividers.md): Separate or group content in your Loops emails with dividers.
- [Columns](https://loops.so/docs/creating-emails/editor/columns.md): Arrange email content side-by-side with layouts of 2 to 4 columns.
- [Sections](https://loops.so/docs/creating-emails/editor/sections.md): Group blocks into reusable sections to structure your email layout.
- [Arrays](https://loops.so/docs/creating-emails/editor/arrays.md): Arrays let you add repeatable content blocks to transactional emails, populated at send time via data variables.
- [Markdown](https://loops.so/docs/creating-emails/editor/markdown.md): Write and format Loops email content with Markdown shortcuts for headings, lists, quotes, bold, and links.
- [Code blocks](https://loops.so/docs/creating-emails/editor/code-blocks.md): Add code blocks to your email
- [Components](https://loops.so/docs/creating-emails/components.md): Create reusable Loops components for your emails.
- [Styling emails](https://loops.so/docs/creating-emails/styles.md): Learn how to edit emails in the Loops editor.
- [Personalizing emails](https://loops.so/docs/creating-emails/personalizing-emails.md): Add context and personalization to emails.
- [Guardian](https://loops.so/docs/creating-emails/guardian.md): Sending emails protected by Guardian.
- [Uploading a custom email](https://loops.so/docs/creating-emails/uploading-custom-email.md): Use Loops with Emailify, Email Love or MJML.
- [Sending settings](https://loops.so/docs/creating-emails/sending-settings.md): Set sender name, from/reply, subject/preview, and CC/BCC for emails you send with Loops.
- [Duplicating emails](https://loops.so/docs/creating-emails/duplicating-emails.md): Reuse basic elements of an email or create email templates.
- [Font support](https://loops.so/docs/creating-emails/font-support.md): Font support via Google Fonts is now available in Loops.
- [Translating emails](https://loops.so/docs/creating-emails/translating-emails-with-ai.md): Loops provides an automated way to translate your emails.
- [Using templates](https://loops.so/docs/creating-emails/using-templates.md): Use Loops templates to draft emails faster: choose a template, customize content, and reuse components.
- [Workflows](https://loops.so/docs/workflows.md): Workflows let you send emails based on something happening, like a contact property updating, a new contact being created or an external event happening in another platform.
- [Triggering workflows](https://loops.so/docs/workflows/triggers.md): Learn how to trigger a workflow to start sending emails.
- [Pausing workflows](https://loops.so/docs/workflows/pausing.md): Pause or stop a Loops workflow to control email sending, manage timers in paused workflows, and resume or end automations safely.
- [Branching workflows](https://loops.so/docs/workflows/branching.md): Branching allows you to send different emails based on a contact's properties within a single workflow.
- [Experiments](https://loops.so/docs/workflows/experiments.md): Learn how to use experiments to test different versions of your emails.
- [Events: trigger automated emails with Loops](https://loops.so/docs/events.md): Events let you trigger workflows and emails when something happens in an external platform.
- [Event properties](https://loops.so/docs/events/properties.md): Learn how to use event properties to personalize your emails.
- [Overview](https://loops.so/docs/goals/overview.md): Track conversions and measure the success of your campaigns
- [Building your first goal](https://loops.so/docs/goals/building.md): Create a goal and attach it to a campaign
- [Understanding metrics](https://loops.so/docs/goals/metrics.md): Read goal metrics and the conversions chart
- [CSV Upload](https://loops.so/docs/add-users/csv-upload.md): Easily add contacts to Loops by uploading a CSV file.
- [Add contacts via integrations](https://loops.so/docs/add-users/integrations.md): Connect Loops to external platforms to automatically add contacts to your audience.
- [Add and update contacts with the Loops API](https://loops.so/docs/add-users/loops-api.md): Loops provides a REST API to manage your contacts.
- [Double opt-in](https://loops.so/docs/contacts/double-opt-in.md): Require and manage subscription confirmations for new contacts.
- [List management](https://loops.so/docs/contacts/mailing-lists.md): Organize contacts and offer a subscriber preference center with mailing lists.
- [Filters and Segments](https://loops.so/docs/contacts/filters-segments.md): How to send emails to specific groups of contacts and save segments for future use.
- [Contact properties](https://loops.so/docs/contacts/properties.md): How to add, edit and delete contact properties.
- [Contact activity timeline](https://loops.so/docs/contacts/contact-activity.md): The contact activity timeline is a great way to see all the activity for a specific contact.
- [Email blocklist](https://loops.so/docs/contacts/email-blocklist.md): Stop certain email addresses or domains from being added to your audience.
- [Contact suppression](https://loops.so/docs/contacts/suppression.md): Check suppression status and remove suppressions with the API.
- [Delete contacts](https://loops.so/docs/contacts/delete-contacts.md): Remove contacts from your audience.
- [Export contacts](https://loops.so/docs/contacts/export-contacts.md): Download CSVs of your contact data.
- [Transactional email](https://loops.so/docs/transactional.md): Learn how to send, test, and troubleshoot transactional email in Loops.
- [Attachments](https://loops.so/docs/transactional/attachments.md): How to send attachments with your transactional email.
- [Integrations](https://loops.so/docs/integrations.md): Browse Loops integrations to sync contacts and trigger emails from around the internet.
- [Simple form](https://loops.so/docs/forms/simple-form.md): Collect signups from any web page with a customizable form.
- [Custom form](https://loops.so/docs/forms/custom-form.md): Integrate with Loops via a form endpoint, which will work with any type of custom form solution you have set up.
- [Incoming webhooks](https://loops.so/docs/integrations/incoming-webhooks.md): Send data to Loops from supported platforms using webhooks.
- [Auto BCC](https://loops.so/docs/integrations/auto-bcc.md): Import emails and contacts to your CRM by adding a BCC address to your marketing emails.
- [Auth0 integration](https://loops.so/docs/integrations/auth0.md): Send Auth0 authentication emails with Loops.
- [Auth.js](https://loops.so/docs/integrations/authjs.md): Send Auth.js magic link emails with Loops.
- [Better Auth](https://loops.so/docs/integrations/better-auth.md): Use Loops as the email sender for Better Auth authentication emails.
- [Bubble integration](https://loops.so/docs/integrations/bubble.md): Connect Bubble to Loops with our plugin to add contacts, trigger workflows, and send transactional email.
- [Carrd integration](https://loops.so/docs/integrations/carrd.md): Enable sign ups to Loops using a native Carrd form.
- [Clay integration](https://loops.so/docs/integrations/clay.md): Learn how to sync data between Clay and Loops.
- [Clerk integration](https://loops.so/docs/integrations/clerk.md): Sync Clerk users to Loops contacts and trigger workflows from Clerk authentication events like signup, login, and user deletion.
- [Fivetran integration](https://loops.so/docs/integrations/fivetran.md): Send user data from your data warehouse to Loops via Fivetran.
- [Framer integration](https://loops.so/docs/integrations/framer.md): Enable signups from your Framer site using an in-built or custom Loops component.
- [Integrately](https://loops.so/docs/integrations/integrately.md): Connect Loops to over a thousand apps.
- [Novu integration](https://loops.so/docs/integrations/novu.md): Send Novu email notifications with Loops SMTP.
- [Make integration](https://loops.so/docs/integrations/make.md): Utilize our official Make integration to manage contacts and send email.
- [Polar](https://loops.so/docs/integrations/polar.md): Sync contacts and send emails triggered by events in Polar.
- [PostHog](https://loops.so/docs/integrations/posthog.md): Send events and contacts data to Loops from PostHog.
- [RudderStack](https://loops.so/docs/integrations/rudderstack.md): Connect Loops to hundreds of apps to manage contacts and send emails.
- [Segment](https://loops.so/docs/integrations/segment.md): Utilize our official Segment integration to manage contacts and send email.
- [Stripe integration](https://loops.so/docs/integrations/stripe.md): Sync contacts and send emails triggered by events in Stripe.
- [Supabase](https://loops.so/docs/integrations/supabase.md): Send Supabase authentication emails and sync Supabase users with Loops.
- [Supabase - Sync contacts](https://loops.so/docs/integrations/supabase/contact-sync.md): Sync contacts and send emails triggered by events in Supabase.
- [Supabase - Send emails](https://loops.so/docs/integrations/supabase/send-email.md): Send every Supabase Auth email through Loops using the Send Email Hook, with one Loops template per auth email type.
- [Webflow integration](https://loops.so/docs/integrations/webflow.md): Enable signups from your site using a native Webflow form.
- [Zapier integration](https://loops.so/docs/integrations/zapier.md): Connect Loops to thousands of apps to manage contacts and send email.
- [Send with SMTP](https://loops.so/docs/smtp.md): Send Loops emails over SMTP.
- [Django SMTP](https://loops.so/docs/smtp/django.md): Send transactional emails from your Django project using Loops' SMTP service.
- [Laravel](https://loops.so/docs/smtp/laravel.md): Send transactional emails from your Laravel project using Loops' SMTP service.
- [Ruby on Rails](https://loops.so/docs/smtp/rails.md): Send transactional emails from your Rails project using Loops' SMTP service.
- [Supabase SMTP](https://loops.so/docs/smtp/supabase.md): Configure your Supabase account to send authentication emails with Loops.
- [Change your login email](https://loops.so/docs/account/changing-your-email.md): How to update the email address you use to log in to Loops.
- [Team members](https://loops.so/docs/account/team-members.md): How to add and manage team members in your Loops account.
- [Team switcher](https://loops.so/docs/account/team-switcher.md): Learn how to create and connect multiple Loops accounts with one email address.
- [Billing](https://loops.so/docs/account/billing.md): How Loops billing works, including plan tiers, contact limits, and how to manage your subscription.
- [Notifications](https://loops.so/docs/account/notifications.md): Learn how to receive notifications about new Loops contacts in external tools.
- [Delete your account](https://loops.so/docs/account/delete-account.md): How to permanently delete your Loops account.
- [Agent skills for Loops](https://loops.so/docs/skills.md): Install Loops agent skills in Claude Code, Codex, or Cursor so your coding agent can manage contacts, events, transactional email, and deliverability.
- [MCP](https://loops.so/docs/mcp-server.md): Connect the Loops MCP server to Claude Code and Claude Desktop.
- [Security and Vulnerability Reporting](https://loops.so/docs/security-reporting.md): How to report security or vulnerability issues.
- [API Introduction](https://loops.so/docs/api-reference/intro.md): Use the Loops REST API to manage contacts, send events, and send transactional email. Learn authentication, rate limits, and request/response examples.
- [API key](https://loops.so/docs/api-reference/api-key.md): Test your API key and get team context.
- [Get an audience segment](https://loops.so/docs/api-reference/get-audience-segment.md): Retrieve a single audience segment by ID.
- [List audience segments](https://loops.so/docs/api-reference/list-audience-segments.md): Retrieve a paginated list of audience segments, most recently created first.
- [Create an audience segment](https://loops.so/docs/api-reference/create-audience-segment.md): Create a new audience segment.
- [List campaigns](https://loops.so/docs/api-reference/list-campaigns.md): Retrieve a paginated list of campaigns.
- [Create a campaign](https://loops.so/docs/api-reference/create-campaign.md): Create a draft marketing campaign and its associated email message.
- [Get a campaign](https://loops.so/docs/api-reference/get-campaign.md): Retrieve a single campaign by ID.
- [Update a campaign](https://loops.so/docs/api-reference/update-campaign.md): Update a draft campaign's name, group, audience (mailing list, segment, or filter), or scheduling.
- [List campaign groups](https://loops.so/docs/api-reference/list-campaign-groups.md): Retrieve a paginated list of campaign groups, most recently created first.
- [Create a campaign group](https://loops.so/docs/api-reference/create-campaign-group.md): Create a new campaign group.
- [Get a campaign group](https://loops.so/docs/api-reference/get-campaign-group.md): Retrieve a single campaign group by ID.
- [Update a campaign group](https://loops.so/docs/api-reference/update-campaign-group.md): Update a campaign group's name or description.
- [List dedicated sending IP addresses](https://loops.so/docs/api-reference/dedicated-sending-ips.md): Retrieve a list of Loops' dedicated sending IP addresses.
- [Create a contact](https://loops.so/docs/api-reference/create-contact.md): Add a contact to your audience.
- [Update a contact](https://loops.so/docs/api-reference/update-contact.md): Update or create a contact.
- [Find a contact](https://loops.so/docs/api-reference/find-contact.md): Find a contact by email address or user ID.
- [Delete a contact](https://loops.so/docs/api-reference/delete-contact.md): Delete a contact by email address or user ID.
- [Check contact suppression status](https://loops.so/docs/api-reference/check-contact-suppression.md): Check if a contact is suppressed by email address or user ID.
- [Remove contact from suppression](https://loops.so/docs/api-reference/remove-contact-suppression.md): Remove suppression for a contact by email address or user ID.
- [List contact properties](https://loops.so/docs/api-reference/list-contact-properties.md): Retrieve a list of your account's contact properties.
- [Create a contact property](https://loops.so/docs/api-reference/create-contact-property.md): Create a custom contact property.
- [Get a component](https://loops.so/docs/api-reference/get-component.md): Retrieve a single component by ID.
- [Update a component](https://loops.so/docs/api-reference/update-component.md): Update a component's name and/or LMX body. Body changes cascade to every email using the component.
- [List components](https://loops.so/docs/api-reference/list-components.md): Retrieve a paginated list of email components.
- [Create a component](https://loops.so/docs/api-reference/create-component.md): Create a new email component from an LMX body.
- [Get an email message](https://loops.so/docs/api-reference/get-email-message.md): Retrieve an email message, including its compiled LMX content.
- [Update an email message](https://loops.so/docs/api-reference/update-email-message.md): Update an email message's subject, preview text, sender, or LMX content.
- [Send a preview of an email message](https://loops.so/docs/api-reference/preview-email-message.md): Send a test preview of an email message to one or more addresses.
- [Run Guardian checks on an email message](https://loops.so/docs/api-reference/run-guardian-checks.md): Run Guardian content validation on an email message and return errors and warnings before you publish or send.
- [Send an event](https://loops.so/docs/api-reference/send-event.md): Send events to trigger workflows.
- [List event patterns](https://loops.so/docs/api-reference/list-event-patterns.md): Retrieve a paginated list of event patterns available to workflow event trigger nodes.
- [Get an event pattern by name](https://loops.so/docs/api-reference/get-event-pattern-by-name.md): Retrieve event pattern details by event name for a workflow event trigger. Event names are case-sensitive, so `PaymentReceived` and `paymentReceived` are different events.
- [Get an event pattern by ID](https://loops.so/docs/api-reference/get-event-pattern.md): Retrieve event pattern details for a workflow event trigger.
- [List mailing lists](https://loops.so/docs/api-reference/list-mailing-lists.md): Retrieve a list of your account's mailing lists.
- [Get a theme](https://loops.so/docs/api-reference/get-theme.md): Retrieve a single theme by ID.
- [Update a theme](https://loops.so/docs/api-reference/update-theme.md): Update a theme's name and/or styles. Style changes cascade to every email using the theme.
- [List themes](https://loops.so/docs/api-reference/list-themes.md): Retrieve a paginated list of email themes, most recently created first.
- [Create a theme](https://loops.so/docs/api-reference/create-theme.md): Create a new email theme for use across Loops emails.
- [List transactional emails](https://loops.so/docs/api-reference/list-transactional-emails-v1.md): Get a list of published transactional emails.
- [Send a transactional email](https://loops.so/docs/api-reference/send-transactional-email.md): Send a transactional email.
- [List transactional emails](https://loops.so/docs/api-reference/list-transactional-emails.md): Retrieve a paginated list of transactional emails, most recently created first.
- [Create a transactional email](https://loops.so/docs/api-reference/create-transactional-email.md): Create a new transactional email and its draft email message, ready for editing, previewing, and publishing through the Loops API.
- [Get a transactional email](https://loops.so/docs/api-reference/get-transactional-email.md): Retrieve a single transactional email by ID.
- [Update a transactional email](https://loops.so/docs/api-reference/update-transactional-email.md): Update a transactional email by ID.
- [Ensure a transactional email has a draft](https://loops.so/docs/api-reference/ensure-transactional-draft.md): Ensure a transactional email has a draft email message ready for editing, creating one from the published version if no draft currently exists.
- [Publish a transactional email](https://loops.so/docs/api-reference/publish-transactional-email.md): Publish the transactional email's current draft email message. The draft becomes the published version and the draft is cleared.
- [List transactional groups](https://loops.so/docs/api-reference/list-transactional-groups.md): Retrieve a paginated list of transactional groups, most recently created first.
- [Create a transactional group](https://loops.so/docs/api-reference/create-transactional-group.md): Create a new transactional group.
- [Get a transactional group](https://loops.so/docs/api-reference/get-transactional-group.md): Retrieve a single transactional group by ID.
- [Update a transactional group](https://loops.so/docs/api-reference/update-transactional-group.md): Update a transactional group's name or description. At least one field must be provided. The reserved "Unsorted" group cannot be edited.
- [Create an upload](https://loops.so/docs/api-reference/create-upload.md): Request a pre-signed URL to upload an image asset.
- [Complete an upload](https://loops.so/docs/api-reference/complete-upload.md): Finalize an image upload after the file has been uploaded to the pre-signed URL.
- [List workflows](https://loops.so/docs/api-reference/list-workflows.md): Retrieve a paginated list of workflows.
- [Create a workflow](https://loops.so/docs/api-reference/create-workflow.md): Create a draft workflow with a blank trigger and exit node.
- [Get a workflow](https://loops.so/docs/api-reference/get-workflow.md): Retrieve a workflow graph with node type names, connections, and selected display fields.
- [Update a workflow](https://loops.so/docs/api-reference/update-workflow.md): Update a workflow's display properties.
- [Change workflow mailing list](https://loops.so/docs/api-reference/change-workflow-mailing-list.md): Change a workflow's mailing list.
- [Create a workflow node](https://loops.so/docs/api-reference/create-workflow-node.md): Create a new default workflow node and return it with the latest workflow
- [Add a branch](https://loops.so/docs/api-reference/add-workflow-branch.md): Add a branch and a child node under an existing Branch or Experiment node.
- [Get a workflow node](https://loops.so/docs/api-reference/get-workflow-node.md): Retrieve detailed data for a single workflow node.
- [Update a workflow node](https://loops.so/docs/api-reference/update-workflow-node.md): Update workflow-node-owned fields for a single node.
- [Delete a workflow node](https://loops.so/docs/api-reference/delete-workflow-node.md): Delete a single workflow node.
- [Reroute a node connection](https://loops.so/docs/api-reference/reroute-node-connection.md): Reroute one existing node connection to another valid target node.
- [Delete workflow nodes recursively](https://loops.so/docs/api-reference/delete-workflow-nodes.md): Delete a node and its downstream subtree.
- [API Examples](https://loops.so/docs/api-reference/examples.md): Browse copy/paste code examples for the Loops API and SDKs covering contacts, events, campaigns, transactional emails, and content revisions.
- [Contacts API examples](https://loops.so/docs/api-reference/examples/contacts.md): Copy/paste code examples for managing contacts with the Loops API, CLI, and SDKs, including create, update, find, and delete requests with sample payloads.
- [Campaigns API examples](https://loops.so/docs/api-reference/examples/campaigns.md): Code examples for creating campaigns, targeting audiences, sending previews, and updating email messages with content revisions via the Loops API, SDKs, and CLI.
- [Workflows API examples](https://loops.so/docs/api-reference/examples/workflows.md): Copy/paste code examples for listing workflows, retrieving workflow graphs, and fetching detailed workflow node configurations via the Loops API, SDKs, and CLI.
- [Events API examples](https://loops.so/docs/api-reference/examples/events.md): Copy/paste code examples for sending events to Loops via the API, CLI, and SDKs to trigger workflows and attach event properties, with sample payloads.
- [Transactional email API examples](https://loops.so/docs/api-reference/examples/transactional-emails.md): Code examples for creating transactional emails, updating drafts with content revisions, previewing, publishing, and sending via the Loops API, CLI, and SDKs.
- [Loops SDKs](https://loops.so/docs/sdks.md): Official and community SDKs to integrate Loops into your application.
- [Go SDK](https://loops.so/docs/sdks/go.md): The official Loops SDK for Go.
- [JavaScript SDK](https://loops.so/docs/sdks/javascript.md): The official Loops SDK for JavaScript, with full TypeScript support.
- [Nuxt module](https://loops.so/docs/sdks/nuxt.md): The official Loops Nuxt module.
- [PHP SDK](https://loops.so/docs/sdks/php.md): The official Loops PHP package.
- [Ruby SDK](https://loops.so/docs/sdks/ruby.md): The official Loops SDK for Ruby.
- [Webhooks](https://loops.so/docs/webhooks.md): Learn about receiving event notifications with webhooks, including setup steps and payload examples.
- [API Changelog](https://loops.so/docs/api-reference/changelog.md): Release notes for the Loops REST API and webhooks, covering new endpoints, fields, breaking changes, and deprecations across OpenAPI versions.
- [Loops CLI](https://loops.so/docs/cli.md): The official Loops command-line interface. Manage contacts, send events, workflows, and deliver transactional emails directly from your terminal.
- [Audience segments](https://loops.so/docs/cli/audience-segments.md): Read and create audience segments.
- [Auth](https://loops.so/docs/cli/auth.md): Log in, switch teams, and manage stored API keys.
- [Campaign groups](https://loops.so/docs/cli/campaign-groups.md): Create, list, and update campaign groups.
- [Campaigns](https://loops.so/docs/cli/campaigns.md): Create, list, and update draft campaigns.
- [Completion](https://loops.so/docs/cli/completion.md): Set up shell autocompletion for the Loops CLI.
- [Components](https://loops.so/docs/cli/components.md): View, create, and update email components.
- [Contact properties](https://loops.so/docs/cli/contact-properties.md): Create and list contact properties.
- [Contacts](https://loops.so/docs/cli/contacts.md): Create, update, find, and delete contacts, and manage suppression.
- [Email messages](https://loops.so/docs/cli/email-messages.md): Get and update draft email messages.
- [Event patterns](https://loops.so/docs/cli/event-patterns.md): Read event patterns detected in your account.
- [Events](https://loops.so/docs/cli/events.md): Send events to trigger automations.
- [Lists](https://loops.so/docs/cli/lists.md): View your mailing lists.
- [Themes](https://loops.so/docs/cli/themes.md): View, create, and update email themes.
- [Transactional](https://loops.so/docs/cli/transactional.md): Send and manage transactional emails.
- [Transactional groups](https://loops.so/docs/cli/transactional-groups.md): Create, list, and update transactional groups.
- [Uploads](https://loops.so/docs/cli/uploads.md): Upload files as email assets.
- [Workflows](https://loops.so/docs/cli/workflows.md): List, inspect, create, and update workflows and their nodes.
- [Guides for onboarding, deliverability, and lifecycle emails.](https://loops.so/docs/guides/intro.md): Browse Loops guides on onboarding, deliverability, lifecycle emails, integrations, and more.
- [Your first onboarding emails](https://loops.so/docs/guides/onboarding-emails.md): Some best practices for building your sender reputation with onboarding emails.
- [Retrigger a Workflow](https://loops.so/docs/guides/retroactively-trigger-workflow.md): Backfill contacts into a workflow.
- [Reducing product email bounce rate](https://loops.so/docs/deliverability/reducing-bounce-rate.md): How to reduce product email bounce rate: hard vs soft bounces, what Loops handles automatically, and the actions you can take when your rate is too high.
- [DMARC and DKIM setup](https://loops.so/docs/deliverability/dmarc-dkim-setup.md): How SPF, DKIM, and DMARC work with Loops, what records you copy into DNS during domain setup, and how to progress your DMARC policy over time.
- [DNS zone file export](https://loops.so/docs/deliverability/dns-zone-file-export.md): Download DNS records as a zone file or share a public records page.
- [Shortened YouTube links warning](https://loops.so/docs/deliverability/youtube-links-warning.md): Information about shortened YouTube links being flagged in Gmail.
- [Deliverability optimization](https://loops.so/docs/deliverability/optimization.md): How we monitor sends to increase the deliverability of your emails.
- [Improve your inbox placement](https://loops.so/docs/deliverability/improving-inbox-placement.md): If your emails are not landing in the inbox folder you expect, here are some tips to improve your inbox placement.
- [Sending to large audiences](https://loops.so/docs/deliverability/sending-to-large-audience.md): Tips for sending emails to a large group of new contacts.
- [Subdomains vs root domains](https://loops.so/docs/deliverability/sending-from-subdomain.md): Most email services (including Loops) prefer sending emails from subdomains (hey.company.com) over root domains (company.com).
- [Building your sender reputation](https://loops.so/docs/deliverability/sending-reputation.md): Understanding how to build your sender reputation.
- [Sending transactional emails to group inboxes](https://loops.so/docs/deliverability/transactional-group-inboxes.md): Configure SPF, DKIM, and sender settings so transactional emails sent through Loops are reliably delivered to Google Groups and other shared inboxes.
- [Insights from Google Postmaster](https://loops.so/docs/deliverability/gaining-insights.md): Gmail doesn't report spam reports to Loops, so setting up Google Postmaster is key to getting an idea of your deliverability performance in Gmail.
- [Email open rates](https://loops.so/docs/deliverability/understanding-email-open-rates.md): Understand how open rates can be affected by clients and networks.
- [Add a sending avatar](https://loops.so/docs/deliverability/adding-a-sending-avatar.md): Set up a sending avatar for your Loops emails using Gmail, Google Workspace, and Outlook to improve open rates and brand recognition in inboxes.
- [Maintaining a clean list](https://loops.so/docs/deliverability/maintaining-a-clean-list.md): A clean list is a happy list. Here’s how to keep your list clean and your emails deliverable.
- [Sending emails to Apple “Hide my email” addresses](https://loops.so/docs/deliverability/apple-hide-my-email.md): Ensure Loops emails reach Apple Hide My Email addresses by registering your sending domain with Apple.
- [Sending from multiple domains](https://loops.so/docs/deliverability/sending-from-multiple-domains.md): The pros and cons of sending from multiple domains and how to do so in Loops.
- [Migrating domains](https://loops.so/docs/deliverability/migrating-domains.md): Switching to a new sending domain.
- [Set up Loops in Next.js](https://loops.so/docs/guides/nextjs.md): How to send email from your Next.js project with Loops.
- [Send emails from Bolt.new](https://loops.so/docs/guides/bolt-emails.md): How to integrate Loops transactional emails into a Bolt application.
- [Bubble API Connector](https://loops.so/docs/guides/bubble-api-connector.md): Send data to Loops from Bubble using the API Connector plugin.
- [Set up a welcome email sequence for new Ghost members](https://loops.so/docs/guides/ghost-email-sequence.md): Send automated email sequences to new Ghost subscribers using Zapier and Loops.
- [How to resend a campaign to new subscribers](https://loops.so/docs/guides/send-again.md): A quick guide for sending a campaign to subscribers who signed up since you sent it out.
- [Why we don't support HTML emails](https://loops.so/docs/guides/html-emails.md): Understanding why Loops doesn't support HTML email content and the benefits of our approach.
- [Dark mode support in emails](https://loops.so/docs/guides/email-dark-mode.md): Understanding dark mode support in email clients and best practices for consistent rendering.
- [Recipe: Onboarding completion workflow](https://loops.so/docs/guides/onboarding-completion.md): Send a congratulatory email the moment a user finishes your onboarding checklist, plus a next-step nudge if they don't.
- [Recipe: Churn risk segment and re-engagement workflow](https://loops.so/docs/guides/churn-risk-segment.md): Define a churn risk segment based on inactivity signals, then automate a re-engagement sequence for those users.
- [Recipe: Active 30-day users segment](https://loops.so/docs/guides/active-30-day-users.md): A reusable segment of contacts active in the last 30 days, ideal for warming a sender reputation and targeting engaged users with product updates.
- [Recipe: Upgrade upsell workflow](https://loops.so/docs/guides/upgrade-upsell.md): Trigger an upsell sequence when a free-plan user hits a usage threshold that a paid plan would solve.
- [Recipe: SaaS customer lifecycle emails](https://loops.so/docs/guides/lifecycle-emails.md): How to send onboarding, dunning and churn emails to your customers with workflows.
- [Recipe: Scheduled digest email](https://loops.so/docs/guides/scheduled-digest-email.md): How to send a daily, weekly or monthly email with a summary of what's happened in your app.
- [Recipe: Product updates](https://loops.so/docs/guides/product-updates.md): Our updated, definitive guide for sending product updates.
- [What is DNS?](https://loops.so/docs/guides/what-is-dns.md): A beginner’s guide to DNS and the DNS records (MX, TXT, CNAME) used for sending email.
- [What is BIMI?](https://loops.so/docs/guides/what-is-bimi.md): Learn what BIMI is, how it works, and how to set up a BIMI record for your sending domain.
- [Open rates are a vanity metric](https://loops.so/docs/guides/open-rates.md): Email open rates are unreliable due to privacy changes like Apple Mail Privacy Protection. Learn what to track instead when measuring engagement.
- [Transactional vs marketing email](https://loops.so/docs/guides/transactional-vs-marketing-email.md): When to use transactional email, when to use marketing email, and how Loops keeps the two separate so neither hurts the other.

## OpenAPI Specs

- [openapi](https://app.loops.so/openapi.json)
- [settings](https://loops.so/docs/.vscode/settings.json)