New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceTool IntegrationsMarketing & Outreach
Tool

Loops Tools

Manage Loops contacts, trigger event-based email sequences, and send transactional emails.

The Loops tools let a workflow create and update contacts in your Loops audience, fire events that trigger automated email sequences, and send transactional emails from Loops templates. Use them when you want to drive lifecycle/marketing email from inside a Zelaxy workflow.

Overview

PropertyValue
Providerloops
Categorytools
AuthBearer Token (Loops API key)

Operations

OperationTool IDDescription
Create contactloops_create_contactCreate a new contact in your Loops audience
Update contactloops_update_contactUpdate an existing contact in Loops (upserts if not found)
Send eventloops_send_eventSend an event to Loops to trigger automated email sequences
Send transactionalloops_send_transactionalSend a transactional email using a Loops template

Configuration

loops_create_contact

Creates a new contact. Sends POST https://app.loops.so/api/v1/contacts/create.

ParameterTypeRequiredDescription
apiKeystringYesLoops API key. Secret — provided via the API Key field (user-only); do not expose to the LLM.
emailstringYesThe email address for the new contact.
firstNamestringNoThe contact first name.
lastNamestringNoThe contact last name.

loops_update_contact

Updates an existing contact, upserting it if no match is found. Sends PUT https://app.loops.so/api/v1/contacts/update.

ParameterTypeRequiredDescription
apiKeystringYesLoops API key. Secret (user-only).
emailstringYesThe email address of the contact.
firstNamestringNoThe contact first name.
lastNamestringNoThe contact last name.

loops_send_event

Fires a named event for a contact to trigger automated sequences. Sends POST https://app.loops.so/api/v1/events/send.

ParameterTypeRequiredDescription
apiKeystringYesLoops API key. Secret (user-only).
emailstringYesThe email address of the contact.
eventNamestringYesThe name of the event to trigger (e.g. signed_up).

loops_send_transactional

Sends a transactional email from a Loops template. Sends POST https://app.loops.so/api/v1/transactional.

ParameterTypeRequiredDescription
apiKeystringYesLoops API key. Secret (user-only).
transactionalIdstringYesThe ID of the transactional email template to send.
emailstringYesThe email address of the recipient.

Outputs

All four operations return the same output shape.

loops_create_contact

  • data (json) — The Loops API response.
  • metadata (json) — Contact result, with:
    • success (boolean) — Whether the contact was created.
    • id (string) — The Loops contact ID.

loops_update_contact

  • data (json) — The Loops API response.
  • metadata (json) — Contact result, with:
    • success (boolean) — Whether the contact was updated.
    • id (string) — The Loops contact ID.

loops_send_event

  • data (json) — The Loops API response.
  • metadata (json) — Event result, with:
    • success (boolean) — Whether the event was sent.

loops_send_transactional

  • data (json) — The Loops API response.
  • metadata (json) — Send result, with:
    • success (boolean) — Whether the email was sent.

YAML Example

loops_1:
  type: loops
  name: "Loops"
  inputs:
    operation: "loops_create_contact"
    email: "jane.doe@example.com"
    firstName: "Jane"
    lastName: "Doe"
    apiKey: "{{LOOPS_API_KEY}}"
  connections:
    outgoing:
      - target: next-block-id

Tips

  • Authentication is a Loops API key passed as a Bearer token (Authorization: Bearer <key>). Create one in the Loops dashboard under Settings → API and store it as an environment variable, then reference it with {{LOOPS_API_KEY}}.
  • loops_update_contact upserts: if no contact matches the email, Loops creates one — handy when you are not sure the contact already exists.
  • For loops_send_event, the eventName must match an event your Loops automations are listening for, otherwise nothing is triggered. For loops_send_transactional, transactionalId is the template ID from the Loops Transactional editor, not the template name.
  • Chain operations by referencing a prior block's output, e.g. {{loops_1.metadata.id}} for the created contact ID or {{loops_1.metadata.success}} to branch on whether the call succeeded.