Skip to main content
When a lead form submits, create or update a CRM contact in ActiveCampaign and append a row to a Notion database for your team to track. One webhook trigger drives both MCP calls in parallel after validation.

What you’ll build

Outcome: Marketing automation receives the lead immediately; sales sees the same submission in Notion with source and timestamp.

Prerequisites

Connectors to install

Build the workflow

1

Discover Notion database ID

Run mcp_callnotion_search and copy the database UUID for your leads table.
2

Create workflow

Name it lead-sync-ac-notion in Workflow Studio.
3

Validate input

lua_script requires email; normalize first_name, last_name, source.
4

Create ActiveCampaign contact

mcp_callactivecampaign_create_contact with optional field_values_json for custom fields.
5

Log in Notion

mcp_callnotion_create_database_item in parallel (same depends_on as validate) or after AC — both are valid.
6

Subscribe to list (optional)

Add mcp_callactivecampaign_subscribe_or_unsubscribe_contact_from_list after contact creation.
7

Wire form webhook

Point your landing page form at the inbound webhook URL.

Validate input

ActiveCampaign contact

Replace field 1 with your ActiveCampaign custom field ID for lead source.

Notion log row

Use notion_retrieve_database to confirm exact property names and types before publishing.

Subscribe to nurture list (optional)

Full workflow graph (copy-paste)

Replace your-database-uuid, ActiveCampaign field ID 1, and list ID 12. Bind activecampaign and notion MCP instances on each mcp_call step.
log-notion and create-contact both depend on validate, so they run in parallel after validation.

Idempotency

Duplicate webhook deliveries may create duplicate Notion rows. Mitigations:
  • Store submission_id in Notion and skip if notion_find_database_item finds a match
  • Use ActiveCampaign’s duplicate handling — update with activecampaign_update_contact when email exists

Variations

  • Add llm_call to score lead intent → activecampaign_add_tag_to_contact with hot / warm / cold.
  • Notify sales on Slack (when messaging tools ship) or Resend email for hot leads only.
  • Replace Notion with Google Sheets insert_row for a lighter log.