All tools
LoopsL

by Loops

Create or update a contact

Updates the contact with a matching email address or user ID, or creates it, with properties and mailing list subscriptions.

View on GitHub
Updated Sep 27, 2026Available asMCPCLIAPI

Description

Identify the contact by `email` or `userId`. To change a contact's email address, it needs a `userId`: send the `userId` with the new address. Leave `subscribed` out unless you mean to unsubscribe or re-subscribe the contact. Set list membership with `mailingLists` (`--list <id>=true` on the CLI). On the MCP server, `search`, `describe` and `execute` find, inspect and run this operation.

upsert-contact.md

Create or update a contact

Updates the contact with a matching email address or user ID, or creates it, with properties and mailing list subscriptions.

Identify the contact by email or userId. To change a contact's email address, it needs a userId: send the userId with the new address. Leave subscribed out unless you mean to unsubscribe or re-subscribe the contact. Set list membership with mailingLists (--list <id>=true on the CLI). On the MCP server, search, describe and execute find, inspect and run this operation.

Set up

Use the first option your agent supports.

MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

{ "mcpServers": { "loops": { "url": "https://mcp.loops.so" } } }

Call the MCP tool execute.

Server URL: https://mcp.loops.so

CLI (official)

Install the command, then confirm it runs.

brew install loops-so/tap/loops
loops --version

Run loops contacts update.

Set $LOOPS_API_KEY in your environment first (get a key: https://app.loops.so/settings?page=api).

API (official)

Before doing anything else, make one read-only call to confirm access.

Rules

  • Ask the user before anything that sends messages, costs money, or changes data.
  • Never print API keys.

Built from these files in the repository

The layout and the rules come from lib/catalog/render-markdown.ts, the set-up wording from lib/catalog/render-access.ts.

Ways in

RouteSourceCallRequiredDocs
MCPOfficial · remoteexecuteOAuthDocs
CLIOfficialloops contacts updateAPI key in $LOOPS_API_KEYDocs
APIOfficialPUT /v1/contacts/updateAPI key in $LOOPS_API_KEYDocs

Workflows using Create or update a contact

No workflows yet
No published workflow uses Create or update a contact yet.