Loops.so
The email platform for modern SaaS. A better way to send product, marketing, and transactional email.
Verdict
Common use cases
- Add webinar registrants to a mailing list
- Update contact properties after a sales call
- Pull subscriber details for a support ticket
- Create custom fields for a product launch
- Delete churned users from your audience
Integration
- Vendor
- Loops.so
- Category
- other
- Auth
- API_KEY
- Tools
- 12
- Composio slug
loops_so
Tools
- Create Contact
Tool to add a new contact to your Loops audience. Use when you need to create a contact with email and optional properties like name, subscription status, or custom attributes. Returns 409 if contact already exists.
- Create Contact Property
Tool to add a custom contact property to your Loops team. Use when you need to store additional contact data beyond default fields. Properties must have unique names in camelCase format and a specified data type (string, number, boolean, or
- Delete Contactdestructive
Tool to delete a contact by email address or user ID. Use when you need to remove a contact from Loops. Either email or userId must be provided to identify the contact.
- Find Contact
Tool to search for a contact by email or userId. Use when you need to find a specific contact's details including subscription status and custom properties. Exactly one of email or userId must be provided per request.
- Get Contact Properties
Tool to retrieve a list of your account's contact properties from Loops.so. Use when you need to view all available contact properties or filter to only custom properties created by your team.
- Get Dedicated Sending IPs
Tool to retrieve a list of Loops' dedicated sending IP addresses. Use when you need to get IP addresses for whitelisting purposes.
- Get Mailing Lists
Tool to retrieve all mailing lists associated with your Loops account. Use when you need to browse or manage mailing list information.
- List Custom Fields
Tool to retrieve a list of custom contact properties. Use when you need to view available custom fields for contacts. Note: This endpoint is deprecated in favor of 'List contact properties'.
- List Transactional Emails
Tool to retrieve a list of published transactional emails. Use when you need to view all available transactional email templates. Supports pagination with perPage and cursor parameters.
- Send Event
Tool to send events to trigger emails in Loops. Use when you need to track user actions and trigger automated email workflows based on those events.
- Test API Key
Tool to test API key validity and retrieve team information. Use to verify API credentials are working correctly.
- Update Contact
Tool to update an existing contact by email or userId. Use when you need to modify contact properties or re-subscribe contacts. Creates a new contact if no matching record exists.
Setup
Setup guide
- 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Search for 'Loops.so' in the MCP directory and click Connect. 3. You'll be prompted to enter a Loops API key — generate one by logging into Loops.so, going to Settings > API, and creating a new key with read and write permissions. 4. Paste the key into Switchy and click Authorize. 5. Once connected, open any Space and type '@Loops.so' to confirm the integration is active — you should see tool suggestions appear. 6. Test the connection by running '@Loops.so list all mailing lists' or '@Loops.so find contact with email test@example.com'. 7. If the MCP returns data, you're ready to use it in workflows.
What teammates see: by default, memories from Loops.so are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Add New Lead
@Loops.so create a new contact with email john@example.com, firstName John, lastName Doe, and set the custom property leadSource to 'webinar'.Open in a Space →
Find Contact Details
@Loops.so find the contact with email sarah@example.com and show me their subscription status and all custom properties.Open in a Space →
List Custom Properties
@Loops.so get all contact properties and filter to only show custom properties created by our team.Open in a Space →
Update Subscriber Attribute
@Loops.so update the contact with email alex@example.com and set the custom property accountTier to 'enterprise'.Open in a Space →
Remove Unsubscribed Contact
@Loops.so delete the contact with email test@example.com from our audience.Open in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@Loops.so find the contact with email sarah@example.com and show me their subscription status and any custom properties
Found contact for sarah@example.com: • Subscription status: Subscribed • User ID: usr_abc123 • Custom properties: - firstName: Sarah - accountTier: premium - lastPurchaseDate: 2024-01-15 - totalSpent: 450.00 This contact is actively subscribed and has 4 custom properties set. They appear to be a premium customer with recent purchase activity.
This read operation requires an API key with contact read permissions. The example shows how Loops stores both standard fields (subscription status) and custom properties in camelCase format. Useful for checking contact state before sending campaigns or updating records.
@Loops.so create a new contact with email john@startup.io, set their firstName to John, company to Acme Inc, and subscribe them to our newsletter
Successfully created contact: • Email: john@startup.io • User ID: usr_xyz789 (auto-generated) • Properties set: - firstName: John - company: Acme Inc • Subscription status: Subscribed The contact is now active in your Loops audience and will receive mailings. Note: If this email already exists in your account, you'll receive a 409 conflict error instead.
This write operation immediately adds the contact to your Loops audience. Be aware that attempting to create a duplicate email returns a 409 error rather than updating the existing contact. Custom properties like 'company' must already exist in your Loops account schema before you can set them on contacts.
@Loops.so get all my mailing lists and contact properties, then suggest which properties I should track for a B2B SaaS product with a free trial
Retrieved your Loops configuration: **Current mailing lists (3):** - Weekly Newsletter - Product Updates - Trial Expiration Reminders **Current contact properties (8):** Standard: email, firstName, lastName, subscribed Custom: company, accountTier, signupDate, lastLoginDate **Recommended additional properties for B2B SaaS:** - trialEndsAt (date) — trigger conversion campaigns - teamSize (number) — segment by company scale - primaryUseCase (string) — personalize messaging - activationComplete (boolean) — identify engaged users - mrr (number) — track revenue per contact These properties would let you build targeted campaigns around trial conversion, feature adoption, and account expansion.
This synthesis example combines two read operations (list mailing lists, get contact properties) with AI reasoning to provide strategic recommendations. The AI can spot gaps in your current schema and suggest properties aligned with common SaaS metrics. Requires API key with read access to both mailing lists and contact properties.
Use-case deep-dives
When Loops.so beats generic email for product-led growth
A 6-person SaaS team runs a 14-day trial with a 5-email onboarding sequence. Loops.so wins here because its contact properties sync directly with product events—when a user completes setup, the MCP updates their contact record and triggers the next email without middleware. The Create Contact and Find Contact tools let your AI assistant add trial signups from Slack threads or support tickets in real time, keeping the drip accurate. The trade-off: if you're sending transactional emails (password resets, receipts), Loops.so isn't built for that—you'll still need Postmark or SendGrid. But for teams under 10k contacts running behavior-triggered campaigns, this MCP removes the Zapier tax and keeps your email list in sync with your product.
Why this MCP works for support-driven segmentation
A 4-person customer success team tags contacts based on support conversations—enterprise tier, churn risk, feature request themes. The Create Contact Property and Get Contact Properties tools let the AI assistant define new tags on the fly and apply them during Slack triage without opening the Loops dashboard. This works when your segmentation logic lives in conversation, not in your CRM. The boundary: if you're tagging more than 50 contacts per day or running complex scoring models, you'll hit rate limits and need a batch job instead. For teams doing manual, high-touch tagging at small scale (under 2k contacts), this MCP keeps your email segments current without export-import cycles. If your tags drive campaigns that convert, the time saved pays for itself in week one.
When to use this MCP for pre-send list hygiene
A 3-person marketing team sends a monthly newsletter to 8k subscribers across three mailing lists (customers, trial users, leads). Before each send, they audit list overlap and unsubscribe counts to avoid double-sends and comply with CAN-SPAM. The Get Mailing Lists and Find Contact tools let the AI assistant pull list membership and subscription status in Slack, flagging duplicates or unsubscribed contacts before the campaign goes out. This saves 20 minutes per send and catches errors that would burn deliverability. The limit: if your lists exceed 20k contacts or you're running daily sends, the MCP's per-contact lookup gets slow—you'll want a nightly export instead. For small teams sending weekly or monthly, this MCP turns list hygiene from a spreadsheet chore into a Slack command.
Frequently asked
What does the Loops.so MCP let me do in Switchy?
It lets you manage your Loops email contacts and properties directly from Switchy's AI workspace. You can create or delete contacts, search by email or user ID, retrieve mailing lists, and manage custom contact properties. The MCP exposes 12 tools covering audience management, custom field setup, and account configuration like dedicated sending IPs.
Do I need admin access to connect Loops.so?
You need an API key from your Loops account, which typically requires admin or owner permissions to generate. The MCP uses API_KEY authentication, so whoever connects it must have access to your Loops API settings. Once connected, any Switchy team member can use the integration within your shared workspace.
Can the Loops MCP send emails or trigger campaigns?
No. This MCP focuses on contact and audience management — creating contacts, updating properties, retrieving mailing lists. It does not send emails, trigger transactional messages, or launch campaigns. For sending, you still use Loops' dashboard or API directly. Think of this as your audience-building layer, not your send layer.
Why use this instead of Loops' dashboard or API?
Use the MCP when you want AI-assisted contact management inside Switchy's shared workspace. It's faster than logging into Loops to add contacts or check properties, and it keeps your team's email operations visible alongside other integrations. If you need campaign analytics or email design, you still need the Loops dashboard.
Who on my team should connect Loops.so?
Whoever owns your Loops account and can generate an API key. Usually that's your marketing lead or ops person. Once connected, the whole Switchy workspace can query contacts or update properties without needing separate Loops logins. Just make sure the API key has the permissions your team needs.