---
title: "4leads Integration"
description: "Connect AI agents to 4leads, a German CRM and marketing automation platform. Agents sync contacts, apply tags and custom fields, enroll them in campaigns, and record opt-ins for consent tracking."
url: https://flowrunner.ai/integrations/four-leads
date_modified: 2026-08-11T09:36:14-07:00
---

# 4leads

[Email Marketing](https://flowrunner.ai/integrations/category/email-marketing)

Connect AI agents to 4leads, a German CRM and marketing automation platform. Agents sync contacts, apply tags and custom fields, enroll them in campaigns, and record opt-ins for consent tracking.

34 actions · API key · available

[4leads website](https://4leads.net/) · [Platform Documentation](https://github.com/4leads/php-api-client) · Capability data verified 2026-08-11

1.  A schedule or an upstream form submission hands the flow a lead and a claimed consent source
2.  Agent reads the email address, name fields, and where the consent claim came from
3.  Agent runs Get Contact by email to see whether the person already exists or is globally opted out
4.  Agent reads Get Contact Tags to confirm the lead is not already inside a running automation
5.  Agent writes the record with Create Contact and stores the enrichment with Set Multiple Custom Field Values
6.  The marketing owner receives the lead with its consent evidence attached
7.  Owner chooses between Grant Opt-In Case with a logged IP address and Send Opt-In, letting the reader confirm for themselves

## What This Integration Enables

4leads is a German CRM and marketing automation platform, and the shape of its API says what it was built to take seriously. Most marketing platforms treat consent as a boolean on a contact. 4leads models it as an object: opt-in processes are first class, an opt-in case is a consent record for a specific purpose, and Grant Opt-In Case and Revoke Opt-In Case both accept an IP address so the record carries who did it. That is a GDPR-shaped design, and it is the reason this connector is worth wiring into a flow rather than driving from a spreadsheet. Agents create and update contacts keyed on email address, apply and remove tags individually or up to 20 at a time, define and populate global custom fields, start and stop campaigns for a specific contact, send double opt-in confirmation emails, and grant or revoke consent for a named purpose.

Two things follow from that design. The first is that writes here are not inert. Adding or removing a tag can start or stop any automation listening for that change, and setting a custom field value fires automations by default, which is why Set Custom Field Value exposes Trigger Automations and Overwrite as explicit controls rather than burying them. An agent that adds a tag is potentially sending mail. The second is that 4leads has no triggers. This connector does not listen and FlowRunner receives no events from 4leads, so a flow starts from the form, the storefront, the CRM, or a schedule that reads List Contacts and works the delta. Both facts point the same direction: the agent should do the assembly and the reconciliation, and a human should hold the moment where a consent record gets written on someone's behalf.

### Without FlowRunner

**Consent lives in the source system**: The form platform holds the proof and 4leads holds the contact, and nobody reconciles the two

**Tag changes fire automations nobody predicted**: Adding a tag by hand starts a sequence whose scope is only obvious after it sends

**Enrichment arrives one field at a time**: Custom field values are pasted per contact, so the data an automation branches on is uneven

### With FlowRunner

**Consent recorded where it is enforced**: Grant Opt-In Case writes the consent record with an optional IP address on the same contact the sending happens from

**Automation entry is a decision, not a side effect**: Add Tag to Contact and Start Campaign for Contact run against a contact whose existing tags the agent has already read

**Enrichment written in one pass**: Set Multiple Custom Field Values writes up to 20 fields per contact, with per field control over overwriting and triggering automations

## Use Case Scenarios

### Lead Capture and Segmentation

Leads arrive from a form, an event list, or a partner file. The agent looks each one up with Get Contact by email address, since email is the unique key and Create Contact will update a matching record by default unless No Update is set. New contacts get written, existing ones get their fields refreshed, and the enrichment lands through Set Multiple Custom Field Values in a single request rather than one field at a time. Segmentation then runs through Add Tags to Contact in batches of up to 20. Because those tag additions can start automations configured to listen for them, the agent reads Get Contact Tags first, so it is adding to a known state rather than a guessed one.

### Conversion Handoff Between Systems

A deal closes in [HubSpot](https://flowrunner.ai/integrations/hubspot) or a purchase lands in the store. The nurture sequence the contact is sitting in is now wrong for them. The agent resolves the contact, runs Stop Campaign for Contact to end the sequence, removes the prospect tags with Remove Tags from Contact, and starts the customer onboarding campaign with Start Campaign for Contact. A summary posts to the revenue channel in [Slack](https://flowrunner.ai/integrations/slack). The customer stops receiving prospect email on the day they became a customer, rather than on the day someone noticed.

### Consent Reconciliation Sweep

On a schedule, the agent pages through List Contacts and compares each record's opt-in state against the source of truth in the form platform or the CRM. Where a contact in 4leads has no consent record for a purpose the marketing plan requires, the agent does not fix it. It reads Get Opt-In Case, assembles what evidence exists, and routes each discrepancy to the marketing owner with the origin, the date, and the captured IP address if one was recorded. Contacts whose evidence is thin get a Send Opt-In so the reader confirms for themselves. The output of the sweep is a decision queue, not a batch of silently granted consents.

## Human-in-Loop Highlight

The gate sits on Grant Opt-In Case, and the reason is written into the parameter itself. That action accepts an optional IP address to record who granted the consent, and 4leads documents the empty case plainly: leave it blank when the consent was granted by the system. So an agent running unattended has exactly two options, and both are consequential. It can assert an IP address it inferred rather than observed, or it can write a consent record attributed to no human at all and then send mail on the strength of it. Neither is the agent's call to make. Instead the agent stops, posts the contact and the evidence to the marketing owner in Slack or email, and asks: "Consent claimed for \[purpose\] from a partner list import dated 2026-07-14. No IP address captured at source. Grant Opt-In Case with the import as the origin, send a double opt-in with Send Opt-In and let the reader confirm, or leave it and suppress the contact?" The owner decides. Reads, lookups, deduplication, and enrichment all keep flowing without interruption. The write that later gets held up as proof of consent is the one that gets a name attached to it.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via Slack

Human decides

Agent resumes with decision

## Agent Capabilities

34 actions

### Contacts

7

-   **List Contacts** Retrieves a paginated list of contacts from your 4leads account. Supports a text search across the email, first name, and last name fields, an optional email status filter, and a result mode that can return full contact objects, contact IDs only, or email addresses only. Page numbering starts at 0 and page size can be up to 200.
-   **Get Contact** Retrieves a single contact by its 4leads internal ID or by email address. Optionally embeds the contact's active tags and global field values into the returned object.
-   **Create Contact** Creates a new contact in 4leads. The email address is the unique identifier. By default, if a contact with the same email already exists it will be updated. Set No Update to true to instead return an error on a duplicate email. Additional standard fields (name, address, phone numbers, company) and any extra properties can be supplied through the Contact Data object.
-   **Update Contact** Updates an existing contact identified by its 4leads internal ID. Only the fields supplied in the Contact Data object are changed. Supported keys include email, salutation, fname, lname, company, companyPosition, street, streetNumber, zip, city, country, website, privatePhone, mobilePhone, fax, and birthday.
-   **Delete Contact** Permanently deletes a contact from your 4leads account by its internal ID. This action cannot be undone.
-   **Opt Out Contact** Globally opts out a contact so they no longer receive email from your 4leads account. This sets the contact's global opt-out state.
-   **Get Contact Tags** Retrieves the list of tags that are currently active for a contact, identified by its internal ID or email address.

### Tags

9

-   **List Tags** Retrieves a paginated list of tags in your 4leads account. Supports a text search across the tag name and a list mode that returns full tag objects, tag IDs only, or a simplified id/name list. Page numbering starts at 0 and page size can be up to 200.
-   **Get Tag** Retrieves a single tag by its 4leads internal ID.
-   **Create Tag** Creates a new tag with the given name in your 4leads account.
-   **Update Tag** Renames an existing tag identified by its 4leads internal ID.
-   **Delete Tag** Permanently deletes a tag from your 4leads account by its internal ID. This action cannot be undone.
-   **Add Tag to Contact** Adds a single tag to a contact. Adding a tag can trigger any automations configured to listen for that tag in 4leads.
-   **Remove Tag from Contact** Removes a single tag from a contact. Removing a tag can trigger any automations configured to listen for that tag removal in 4leads.
-   **Add Tags to Contact** Adds a list of tags to a contact in a single request. A maximum of 20 tag IDs can be added per request.
-   **Remove Tags from Contact** Removes a list of tags from a contact in a single request. A maximum of 20 tag IDs can be removed per request.

### Custom Fields

8

-   **List Custom Fields** Retrieves a paginated list of global (custom) fields defined in your 4leads account. Supports a text search across the field name. Page numbering starts at 0 and page size can be up to 200.
-   **Get Custom Field** Retrieves a single global (custom) field definition by its 4leads internal ID, including its type and configuration.
-   **Create Custom Field** Creates a new global (custom) field. The field type controls how values are stored and displayed. The Config object is only used for the textarea, checkbox, radio, and select types (for example, providing the selectable items and a preselect value).
-   **Update Custom Field** Updates a global (custom) field definition identified by its internal ID. Only the supplied properties are changed.
-   **Delete Custom Field** Permanently deletes a global (custom) field definition from your 4leads account by its internal ID. This action cannot be undone.
-   **Get Custom Field Value** Retrieves the value of a global (custom) field for a specific contact.
-   **Set Custom Field Value** Sets the value of a global (custom) field for a specific contact. By default a value change fires any automations listening for it and overwrites an existing value. Set Trigger Automations to false to suppress those automations, and Overwrite to false to keep an already present value.
-   **Set Multiple Custom Field Values** Sets several global (custom) field values for a single contact in one request. A maximum of 20 fields can be set per request. Each entry provides a global field ID, a value, and optional per field control over triggering automations and overwriting existing values.

### Campaigns

4

-   **List Campaigns** Retrieves a paginated list of campaigns (automation processes) in your 4leads account. Supports a text search across the campaign name. Page numbering starts at 0 and page size can be up to 200.
-   **Get Campaign** Retrieves a single campaign by its 4leads internal ID.
-   **Start Campaign for Contact** Starts a campaign (automation process) for a specific contact.
-   **Stop Campaign for Contact** Stops a running campaign (automation process) for a specific contact.

### Opt-Ins and Consent

6

-   **List Opt-Ins** Retrieves a paginated list of opt-in processes (double opt-in confirmation emails) in your 4leads account. Supports a text search across the opt-in name. Page numbering starts at 0 and page size can be up to 200.
-   **Get Opt-In** Retrieves a single opt-in process by its 4leads internal ID.
-   **Send Opt-In** Sends an opt-in confirmation email to a contact so they can confirm their email address for the given opt-in process.
-   **Get Opt-In Case** Retrieves a single opt-in case (a consent record for a specific purpose) by its 4leads internal ID.
-   **Grant Opt-In Case** Grants an opt-in case (consent) for a contact. An optional IP address can be logged to record who granted the consent; leave it empty when the consent is granted by the system.
-   **Revoke Opt-In Case** Revokes an opt-in case (consent) for a contact. An optional IP address can be logged to record who revoked the consent; leave it empty when the consent is revoked by the system.

## Frequently Asked Questions

### What can FlowRunner do with 4leads?

FlowRunner agents can run List Contacts, Get Contact, and Create Contact in 4leads, plus 31 more actions.

### Does connecting 4leads to FlowRunner require OAuth?

No. 4leads connects to FlowRunner with an API key, no OAuth flow required.

### Can 4leads trigger a FlowRunner workflow automatically?

4leads doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at 4leads?** This integration exposes 4leads to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/four-leads. Site index: https://flowrunner.ai/llms.txt
