ℹ️ Overview
Admins can configure an integration from Mobilize to VAN-based products, including EveryAction, VoteBuilder, and NGP VAN 8. The integration syncs events and signups from the Mobilize dashboard to a single VAN committee.
Once the integration is configured and an event is created, the dashboard’s initial sync to VAN starts. Data syncs in real time when:
An event or signup is created or updated in Mobilize, the data syncs to VAN.
An event location is updated in Mobilize, a full re-sync of all event data — including signups — occurs.
The data sync is generally one-way—from Mobilize into VAN—with the exception of signup attendance statuses, which can be updated in VAN for a window around the event date.
Additional important details about the integration:
Mobilize syncs data to MyCampaign only, not to MyVoters.
Multiple Mobilize dashboards can sync to the same VAN committee (with some caveats), but one Mobilize dashboard cannot sync to multiple VAN committees.
Events and signups should only be created and edited in Mobilize.
⚙️ Connect the Integration
VAN Settings tab
Mobilize connects to a VAN committee via an API key generated in the VAN committee. The key allows Mobilize to send data to VAN through VAN's API.
Step 1: Add API Key to VAN Settings
Generate an API key in your VAN committee. VAN Admins can request and approve their own API key. If you don't have this permission, contact your VAN admin.
In the Mobilize VAN Settings tab, enter the key in the VAN API key field and select Connect VAN account.
Step 2: Configure Event Types in VAN Settings
Configure event types in your VAN committee. See the NGP VAN help center for instructions: NGP VAN help center. Every event syncing from Mobilize to VAN requires a configured VAN event type:
VAN event types used by the Mobilize integration cannot require a location and must be able to support multiple shifts.
VAN event types should have all relevant roles and statuses, including Completed and No Show statuses, checked as available.
Map Mobilize event types to VAN event types in the VAN Settings tab.
For each event type, configure the VAN role for attendees (and optionally hosts) and the VAN statuses for Registered, Canceled, and Confirmed signups.
Completed and No Show statuses in Mobilize will automatically sync to Completed and No Show in VAN, so you will not need to configure those manually.
Optionally, see Optional Integration Configurations for other settings completed in VAN Settings tab.
Select “Update” to save your changes.
Step 3: Optional - Backfill Sync
If you have existing event data in Mobilize that you’d like to sync to VAN, reach out to Mobilize Support at [email protected] to request a backfill sync. Going forward, data will sync automatically.
If you are requesting a backfill sync for a Mobilize dashboard that has previously already synced to a VAN committee, a backfill sync will have different results depending on whether you're currently syncing to a different committee than before or to the same committee:
Existing events and actions syncing to a different committee than the one connected at the time of event creation will sync with new VAN models according to VAN Settings tab configurations only. Existing event-level custom VAN settings will not apply.
Existing events and actions syncing to the same committee connected at the time of event creation will continue to sync according to the existing VAN models as configured in VAN Settings or event-level custom VAN settings. If an exact configuration value (e.g. activist code ID) cannot be found in VAN, the sync will skip it and show an error.
Optional Integration Configurations
Depending on your organization’s needs and VAN workflows, you may want to configure the below settings in your VAN Settings tab to sync even more data between Mobilize and VAN.
Promoted events
If your organization promotes other organizations' events, you can choose to sync those events and any signups you recruit for those events to your VAN committee to keep track of the actions your supporters take for partner events. These events and signups sync to VAN the same way as your owned events.
Toggle on Sync promoted events.
Next, configure event types, roles, and statuses just as you did for your dashboard’s owned events above.
A promoted event will sync to VAN once you have recruited at least one signup via promotion.
If an event type isn't configured for promoted events, those events and signups for that event type won't sync to VAN.
Firewall exception: Mobilize enforces a data firewall between independent expenditure and coordinated-side entities in compliance with Federal Election Commission regulations. Restrictions apply when your organization promotes an event across the firewall.
For signups that your organization recruits to a promoted event on the other side of the firewall, Mobilize will create a “masked” representation of the promoted event in your VAN committee and sync masked representations of the signups to that event.
The event title and details are marked “[Redacted].” Only the date, time, and event type appear on the event.
Synced signup data still includes the supporter's first name, last name, phone number, email, and ZIP code.
VAN Event Source Codes
Admins can configure a Source Code for both owned and promoted events on the dashboard, which will be applied to the corresponding events in VAN.
Promoted events:
For promoted events, Admin users can choose to use the pre-June 2024 default of the owning organization name as the Source Code or to specify a Source Code for each promoted event type:
Event-level Source code:
Admins can set a specific VAN Event Source Code by selecting "Customize VAN settings for this event only" in the VAN Sync Configuration section of the event form. If the Source Code is specified at the event level, this takes precedence over the Source Code specified in the VAN Settings page for that Event Type.
How Source Codes Sync to VAN
When a Source Code is synced, Mobilize first checks VAN for a source code with an exact, case-sensitive name match in the committee.
If a match is found, Mobilize reuses the existing source code rather than creating a duplicate.
If no match is found a new source code is created in VAN.
Source Codes are applied at the event level. However, they will also populate the contact record's Origin Source Code field if either of the following conditions is met:
The person is newly created in VAN and hasn’t previously participated with that committee.
The Source Code is applied within 24 hours of the person’s record being created.
Activist Codes and Survey Questions
You can configure an Activist Code and/or survey response to be applied when supporters take actions in Mobilize. Different Activist Codes can be applied to event signups versus hot lead form signups. One survey response can be applied to all event signups.
If Activist Codes or survey questions aren't appearing, contact VAN Support to confirm they're accessible to Mobilize. Activist codes must be "Active" and set to "be able to be applied or removed." Survey questions must also be "Active."
To remove an Activist Code or survey question from a Mobilize dashboard, change the status field to Archived or Inactive in your VAN committee.
Event-level VAN Settings
To sync a specific event differently from your default dashboard-level VAN Settings, add event-level VAN settings to that event.
Custom VAN Settings
For scheduled events, configure the following in the VAN Sync Configuration section on the event creation page:
Event type, roles, and statuses
VAN event source code
VAN Activist Code.
For Interest Forms, Pledges, Petitions, and Group event types, you can configure an Event-level Activist Code. Read more here: Sync Interest Forms, Pledges, Petitions, Group Event Types - Option 2: Configure an Activist Code
Additional Fields
For all event types, you can choose to add up to three additional fields to your event signup form. A checkbox-style additional field can be used to apply an Activist Code or survey response to event signups when they sync to VAN. Read more here: Sync Checkbox Additional Fields to VAN/EA
Event-level vs. dashboard-level Activist Codes and survey responses
Here's how the event-level settings will interact with the dashboard-level settings in your VAN Settings tab for signups for any particular event:
To sync to VAN... | Configure |
Dashboard-level settings only Only the dashboard-level Activist Code/survey response in the VAN settings tab | Don't configure an Activist Code in the event-level VAN Settings or configure an Activist Code/survey response in an event-level additional field. |
Both dashboard-level and event-level Both the dashboard-level Activist Code/survey response and an event-level Activist Code/survey response | Configure an Activist Code/survey response in an event-level additional field (not event-level VAN settings). |
Event-level only Only an event-level Activist Code and no dashboard-level Activist Code | For scheduled events, toggle off Sync event as VAN event and configure an Activist Code in event-level VAN settings.
For Interest Forms, Pledges, Petitions, and Group event types, configure an Activist Code in the event-level VAN settings and do not configure the event type in your VAN Settings tab.
|
📆 Configure sync for an Event or Action in Mobilize
Create an Interest Form, Pledge, Petition, or Group with VAN Sync
Interest Forms, Pledges, Petitions, and Groups differ from scheduled events in that they don’t have timeslots. Instead, they have a start and end date, allowing supporters to sign up at any point during that window.
Unlike scheduled events, Interest Forms, Pledges, Petitions, and Groups default to "Do not sync as VAN event" option and can sync with only an Event-level Activist Code applied to sign ups, which reduces the number of events created in VAN and improves data integrity for these long-standing events. If the "Do not sync as VAN Event" option is selected, an Event-level Activist Code is required.
Option 1: Configure the Event Type in VAN Settings tab
How the data shows in VAN:
If the Event Type is configured in VAN Settings, the form will always sync as one event in VAN/EA per day that has at least one sign up. It is important to note that if this is a long standing form, there could be many events created over time. Event creators can choose to also add an Event-level Activist Code at the event level.
The sign up will sync to VAN/EA with the attendance status corresponding to ‘Registered’ in Mobilize and any subsequent attendance status changes in Mobilize will sync to VAN/EA.
How to configure:
Step 1: Configure the event type, roles and attendance statuses in the VAN Settings tab.
Step 2: Create the new form
Step 3: In VAN Sync Configuration section, select "Use default VAN Settings" or optionally, "Customize VAN Settings for this event only" to determine how the event will sync to VAN.
Step 4: Configure Checkbox Additional Fields - Optional. Read more here.
Step 5: Complete other form fields and Publish
Option 2: Configure an Activist Code for the event
How the data shows in VAN:
There will not be an event or participation created in VAN/EA. VAN/EA users can identify signups for the form by creating a list for the Activist Code in VAN/EA.
How to configure:
Step 1: Ensure the Activist Code is configured in VAN/EA in the integrated committee.
Step 2: Create the new form
Step 3: Under "Assign VAN Activist Code to supporters who sign up for this event", select the Activist Code.
Step 4: Configure Checkbox Additional Fields - Optional. Read more here.
Step 5: Complete other form fields and Publish
Tips:
To ensure the specific form signups can be identified in VAN/EA, use a unique Activist Code.
Adding a custom 'VAN event name' for the event in the Basic information section will not sync the form as an event in VAN. Only the steps outlined in Option 1 will create events in VAN.
Create a Scheduled Event with VAN Sync
Step 1: Create a new scheduled event.
Mobilize Event Types configured in the Dashboard VAN Settings tab will be available to select. An Event Type must be selected before moving on. The VAN Sync Configuration section will not appear until one is chosen.
Step 2: Choose your VAN sync option.
Once an Event Type is selected, the VAN Sync Configuration section appears with three radio buttons:
Use default VAN settings (selected by default) — Uses the org's existing Dashboard VAN Settings configuration. If everything is set up correctly, a green confirmation message will appear.
Customize VAN settings for this event only — Overrides the defaults just for this event. Inline fields will expand to set Event Type, Attendee VAN Type, Host VAN Role, statuses, and Source Code.
Do not sync to VAN — Opts this event out of VAN sync entirely. No event or participation records will sync to VAN. Note: An event-level Activist Code is required when this option is selected.
Step 3: Configure an event-level Activist Code
If "Do not sync to VAN" is selected, an Event-level Activist Code is required. If "Use default VAN settings" or "Customize VAN settings for this event only" is selected, an Event-level Activist Code is optional.
Step 4: Configure Checkbox Additional Fields - Optional. Read more here.
Step 5: Complete the event creation form and Publish your event.
VAN sync settings are locked after publishing and cannot be changed.
Sync checkbox additional fields to VAN/EA (optional)
Use Mobilize checkbox additional fields to capture supporter data and sync it to your action platform. This is a 3-step process. Step 2 has two options (Activist Codes and Survey Responses). Configure one or both depending on how you plan to segment supporters in VAN/EA.
🆕 Step 1: Create a checkbox additional field in Mobilize
As an Admin, you can manage and add additional signup fields to your organization’s library. To get started, navigate to the Additional fields tab in your dashboard:
To create a new additional field, select Create new field. For each field you create, you will need to fill in the field name, label, and type. To create a field to apply an activist code or survey response in VAN, select the type Checkbox, seen below.
⚙️ Step 2: Configure an activist code, survey response, or both.
2a. Sync a Checkbox to Activist Codes
i. Configure activist code in VAN/EA
Activist codes should be configured in VAN/EA the following way:
If all three things are true, you're ready to move on to the next step.
Note: To remove an activist code from a Mobilize dashboard, Administrators can change the Activist Code Status field to Archived or Inactive in the Action Platform committee.In the Action Platform committee:
An Archived Activist Code can still be used in searching, however it will not appear on normal lists in the committee.
An Inactive Activist Code will no longer appear in the committee unless an administrator reactivates it.
ii. Configure activist code in Mobilize
When creating your checkbox field, navigate to Select Activist Codes under VAN Activist Code Settings and select the activist codes you'd like to apply in VAN/EA for supporters who check this field when signing up for an event.
In the screencap below, the selected activist code "Snacks volunteer" is listed along with its VAN ID. You can assign as many activist codes to each checkbox field as you'd like.
After creating a new checkbox field, it will be visible in the Additional fields tab of your dashboard. To add an activist code to an existing checkbox field, select the Edit button next to the field, select the activist code you'd like to add, and then select Save edits when you're done.
2b. Sync a Checkbox to Survey Responses
i. Configure survey question and response in VAN/EA
The survey question and at least one response option will need to be configured in VAN.
ii. Configure survey response in Mobilize
Each checkbox can map to one survey question and response. When configuring your additional field, navigate to VAN Survey Mapping Settings and select the survey question you'd like to use and the response that will be recorded for supporters who check this field when signing up for an event.
📆 Step 3: Add additional signup fields to events
Once additional signup fields have been added to the Field library, admins and organizers will be able to add up to three additional fields when creating and editing events:
🕑 How events sync
Events sync according to the settings configured at the time of event creation.
Edit Events or Actions
All events created by Mobilize must be edited in Mobilize, which will sync updates to VAN. We do not support editing Mobilize-created events directly in VAN; editing events in VAN may result in changes being overwritten.
Updating location
All updates to the location should be made in Mobilize. Only one location is allowed per VAN event.
Adding shift times
Adding any additional shift times to the Mobilize event will create a new event in VAN, removing the need to add shift times directly into VAN.
Deleting the event or event timeslots
To remove an event or timeslot from VAN, delete it in Mobilize first. Failing to delete the event in Mobilize first will result in errors.
The deleted event will be renamed to include [Canceled] at the beginning of the VAN name.
All VAN signups will move to the Declined status.
✏️ How signups sync
The Event record is created in VAN immediately after the event is created in Mobilize. The Participation Record links the Event Record (the event) and the Contact Record (the supporter) in VAN. Mobilize matches to VAN Contact Records using Mobilize Supporter account profile information.
When a supporter takes any of the following actions, Mobilize sends their information to VAN and creates or updates the relevant records:
Signs up for an event
Signs up through a Hot Leads form
Creates an event (assigned a host or co-host role, if applicable)
💙 How signup statuses sync
Real-time sync from Mobilize → VAN
The sync from Mobilize to VAN is triggered when any of the following actions occur in Mobilize:
🗓️ Event is created
📍Event location is changed
✍Signup status is created or updated
⚠️ Note: If a role or status is updated directly in VAN to one that isn't mapped in Mobilize, the integration may overwrite it with the mapped value on the next sync.
If signup status in Mobilize is... |
| Then, signup status in VAN... |
"No Show" or "Completed" |
➡️ | Updates to "No Show" or "Completed" in VAN respectively |
"Registered", "Cancelled" or "Confirmed" |
➡️ | Updates to the VAN status mapped in VAN Settings or Event-level Settings |
Nightly status check from VAN → Mobilize
The sync is generally one-way — Mobilize writes data to VAN but does not read from it. The one exception is signup statuses: during a nightly sync in the window around the event date, statuses sync from VAN back to Mobilize. Outside that window, the sync remains one-way (Mobilize to VAN).
If signup status in VAN is... |
| Then, signup status in Mobilize... |
VAN status mapped to "Confirmed" in Mobilize VAN Settings |
➡️ | Updates to "Confirmed" in Mobilize |
VAN status mapped to "Cancelled" in Mobilize VAN Settings |
➡️ | Updates to "Cancelled" in Mobilize and no reminder notifications will be sent |
"Completed" or "No Show" |
➡️ | Updates to "Completed" or "No Show" in Mobilize respectively |
Note: If a signup's VAN status isn't mapped in VAN Settings and isn't Completed or No Show, the nightly sync will not update the status in Mobilize or VAN.

















