AutomationFlowsCRM & Sales › Sync Event Attendees From Eventbrite to Pipedrive Automatically

Sync Event Attendees From Eventbrite to Pipedrive Automatically

ByRobert Breen @rbreen on n8n.io

Bring your Eventbrite attendee data into Pipedrive automatically—no spreadsheets, CSVs, or manual uploads. Polls Eventbrite on a schedule (default 30 min) for new registrations. Creates or updates matching Person and Deal records in Pipedrive. Deduplicates by email and stores a…

Cron / scheduled trigger★★★★☆ complexity8 nodesPipedrive
CRM & Sales Trigger: Cron / scheduled Nodes: 8 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #6712 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "2aa95999-e977-454e-b6cb-0dae63c0fbec",
      "name": "Extract Eventbrite Signups",
      "type": "n8n-nodes-base.code",
      "position": [
        400,
        -200
      ],
      "parameters": {
        "jsCode": "const token = 'ZZZZZZZZZZZZZZZZZZZZ'; //Replace with your token from eventbrite\nconst orgId = '1111111111111'; // Replace with your actual organization ID\n\nconst fetch = async (url) => {\n  return await this.helpers.request({\n    method: 'GET',\n    url,\n    json: true,\n  });\n};\n\nconst allAttendees = [];\nlet eventContinuation = null;\nlet eventHasMore = false;\n\n// 1. Fetch all events (live + ended)\ndo {\n  const eventUrl = eventContinuation\n    ? `https://www.eventbriteapi.com/v3/organizations/${orgId}/events/?status=live,ended&continuation=${eventContinuation}&token=YOUR_TOKEN_HERE\n    : `https://www.eventbriteapi.com/v3/organizations/${orgId}/events/?status=live,ended&token=YOUR_TOKEN_HERE\n\n  const eventData = await fetch(eventUrl);\n\n  const events = eventData.events || [];\n\n  for (const event of events) {\n    const eventId = event.id;\n    let continuation = null;\n    let hasMore = false;\n\n    do {\n      const attendeeUrl = continuation\n        ? `https://www.eventbriteapi.com/v3/events/${eventId}/attendees/?continuation=${continuation}&token=YOUR_TOKEN_HERE\n        : `https://www.eventbriteapi.com/v3/events/${eventId}/attendees/?token=YOUR_TOKEN_HERE\n\n      const attendeeData = await fetch(attendeeUrl);\n\n      for (const a of attendeeData.attendees || []) {\n        let customAnswers = {};\n        if (Array.isArray(a.answers)) {\n          a.answers.forEach(ans => {\n            customAnswers[ans.question] = ans.answer || '';\n          });\n        }\n// Replace below with the fields you want to bring into pipedrive from eventbrite\nallAttendees.push({\n  json: {\n    event_id: eventId,\n    event_name: event.name?.text || '',\n    event_date: event.start?.local || '',  // Add this line\n    name: a.profile?.name || '',\n    email: a.profile?.email || '',\n    phone: a.profile?.phone || '',\n    work_phone: a.profile?.work_phone || '',\n    ticket_class: a.ticket_class_name || '',\n    status: a.status,\n    order_id: a.order_id,\n    created: a.created\n  }\n});\n\n      }\n\n      continuation = attendeeData.pagination?.continuation || null;\n      hasMore = attendeeData.pagination?.has_more_items === true;\n\n    } while (hasMore && continuation);\n  }\n\n  eventContinuation = eventData.pagination?.continuation || null;\n  eventHasMore = eventData.pagination?.has_more_items === true;\n\n} while (eventHasMore && eventContinuation);\n\nreturn allAttendees;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "f08c4987-c184-43cf-a8a2-3f3e9f3f66fa",
      "name": "Extract current leads in pipedrive",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        400,
        120
      ],
      "parameters": {
        "resource": "person",
        "operation": "getAll",
        "returnAll": true,
        "additionalFields": {}
      },
      "credentials": {
        "pipedriveApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3ddd3458-952b-430f-bfe5-26d8be7b42af",
      "name": "Merge to keep only new leads",
      "type": "n8n-nodes-base.merge",
      "position": [
        660,
        0
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "advanced": true,
        "joinMode": "keepNonMatches",
        "mergeByFields": {
          "values": [
            {
              "field1": "email",
              "field2": "primary_email"
            }
          ]
        },
        "outputDataFrom": "input1"
      },
      "typeVersion": 3.1
    },
    {
      "id": "10e213d5-7e97-472f-b861-55c9b7d5407e",
      "name": "Add New Leads to Pipedrive",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        840,
        360
      ],
      "parameters": {
        "name": "={{ $json.name }}",
        "resource": "person",
        "additionalFields": {
          "email": [
            "={{ $json.email }}"
          ],
          "phone": [
            "={{ $json.work_phone }}"
          ],
          "customProperties": {
            "property": [
              {
                "name": "YOUR_AWS_SECRET_KEY_HERE",
                "value": "={{ $json.company }}"
              },
              {
                "name": "YOUR_AWS_SECRET_KEY_HERE",
                "value": "={{ $json.event_date }}"
              }
            ]
          }
        }
      },
      "credentials": {
        "pipedriveApi": {
          "name": "<your credential>"
        }
      },
      "executeOnce": false,
      "typeVersion": 1
    },
    {
      "id": "60c09118-1cba-4da8-bbd9-33d919f3a181",
      "name": "Schedule Daily",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        120
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "minutesInterval": 10
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "42afbcee-474b-4ad4-8403-9bed3f1848ed",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -40,
        -340
      ],
      "parameters": {
        "width": 1120,
        "height": 980,
        "content": "## Eventbrite \u2192 Pipedrive Lead\u2011Sync Workflow\n**Need help? Email rbreen@ynteractive.com**"
      },
      "typeVersion": 1
    },
    {
      "id": "b2b9580d-2fa8-4cdd-90bc-2270cc72e888",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -940,
        -340
      ],
      "parameters": {
        "color": 5,
        "width": 880,
        "height": 980,
        "content": "#### \u2699\ufe0f Setup Instructions\n\n1. **Import the workflow**  \n   - n8n \u2192 **Workflows \u2192 Import from File** (or **Paste JSON**) \u2192 **Save**\n\n2. **Connect Pipedrive**  \n   | Service    | Where to get your token | Node(s) to update |\n   |------------|------------------------|-------------------|\n   | **Pipedrive** | Pipedrive \u2192 *Personal preferences \u2192 API* \u2192 copy **API token** | **Extract current leads in pipedrive** & **Add New Leads to Pipedrive** |\n\n3. **Update the \u201cExtract Eventbrite Signups\u201d Code node**  \n   - Open the **Code** node at the top of the flow.  \n   - Replace `ZZZZZZZZZZZZZZZZZZZZ` with **your Eventbrite Personal OAuth token**.  \n   - Replace `1111111111111` with **your Eventbrite Organization ID**.  \n   - At the **bottom** of the Code node you\u2019ll see an array of properties being pushed (e.g., `event_name`, `email`, `ticket_class`).  \n     - **Add / remove fields** there to control which attendee data flows downstream.\n\n4. **Adjust the schedule**  \n   - Open the **Schedule Daily** trigger.  \n   - Default interval is **every 10 minutes**; change the minutes or switch to hours/days as needed.\n\n5. **Customize Pipedrive field mapping**  \n   - Open **Add New Leads to Pipedrive**.  \n   - Update any **customProperties** IDs so they point to the correct custom fields in your Pipedrive account.  \n   - Map additional attendee fields (e.g., company, ticket type) if desired.\n\n6. **Test the workflow**  \n   - Click **Test or Manually run workflow**.  \n   - Watch the execution log; new Eventbrite attendees that **don\u2019t already exist** in Pipedrive should appear within seconds.  \n   - Confirm no duplicates\u2014existing contacts are filtered out by the **Merge \u2192 keep only new leads** step.\n\n7. **Activate**  \n   - Toggle **Active** so the Schedule trigger runs automatically throughout the day.\n\n---\n\n### Need help?\n\n- **Email:** rbreen@ynteractive.com  \n- **Website:** https://ynteractive.com  \n- **YouTube:** https://www.youtube.com/@ynteractivetraining  \n- **LinkedIn:** https://www.linkedin.com/in/robertbreen\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4ab6de6c-a665-4a0f-b30f-2cc7f52578b6",
      "name": "Test or Manually run workflow",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        20,
        -200
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "connections": {
    "Schedule Daily": {
      "main": [
        [
          {
            "node": "Extract Eventbrite Signups",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract current leads in pipedrive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Eventbrite Signups": {
      "main": [
        [
          {
            "node": "Merge to keep only new leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge to keep only new leads": {
      "main": [
        [
          {
            "node": "Add New Leads to Pipedrive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Test or Manually run workflow": {
      "main": [
        [
          {
            "node": "Extract Eventbrite Signups",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract current leads in pipedrive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract current leads in pipedrive": {
      "main": [
        [
          {
            "node": "Merge to keep only new leads",
            "type": "main",
            "index": 1
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Bring your Eventbrite attendee data into Pipedrive automatically—no spreadsheets, CSVs, or manual uploads. Polls Eventbrite on a schedule (default 30 min) for new registrations. Creates or updates matching Person and Deal records in Pipedrive. Deduplicates by email and stores a…

Source: https://n8n.io/workflows/6712/ — original creator credit. Request a take-down →

More CRM & Sales workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

CRM & Sales

This workflow is designed for B2B/SaaS teams who want to secure renewals before it’s too late.

HTTP Request, Zendesk, Postgres +7
CRM & Sales

Two Way Sync Pipedrive and MySQL. Uses compareDatasets, scheduleTrigger, mySql, pipedrive. Scheduled trigger; 14 nodes.

MySQL, Pipedrive
CRM & Sales

Sync Local Falcon rankings to Pipedrive deals. Uses @local-falcon/n8n-nodes-localfalcon, pipedrive. Scheduled trigger; 11 nodes.

@Local Falcon/N8N Nodes Localfalcon, Pipedrive
CRM & Sales

This workflow synchronizes data both ways between Pipedrive and HubSpot. Cron node schedules the workflow to run every minute. Pipedrive and Hubspot nodes pull in both lists of persons from Pipedrive

Pipedrive, HubSpot
CRM & Sales

This workflow synchronizes data one-way from Pipedrive to HubSpot. Cron node schedules the workflow to run every minute. Pipedrive and Hubspot1 nodes pull in both lists of persons from Pipedrive and c

HubSpot, Pipedrive