---
title: "Bonterra EveryAction / NGP VAN MCP server - actionlake"
description: "Give Claude 234 Bonterra EveryAction / NGP VAN actions through one MCP server: people, codes. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/bonterra-everyaction-ngp-van
updated: 2026-10-23
---

Connectors · CRM & sales

# Bonterra EveryAction / NGP VAN MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Bonterra EveryAction / NGP VAN and the rest of your systems. It gives your agent 234 Bonterra EveryAction / NGP VAN actions (136 reads, 78 writes and 20 that wait for a confirmation) and holds the Bonterra EveryAction / NGP VAN credential itself, so the agent never does. It paces Bonterra EveryAction / NGP VAN's limits and records every call.

[Connect Bonterra EveryAction / NGP VAN free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "ngpvan_everyaction.activist_codes.list",
  intent: "check which Bonterra EveryAction / NGP VAN account is connected"
}
# List activist codes · read · 1 upstream call
```

- 234 actions in one signed file
- 136 read look, never change
- 78 write create and update
- 20 wait for a yes destructive, confirmed first

Set up

## Connect Bonterra EveryAction / NGP VAN in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Bonterra EveryAction / NGP VAN.
   Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `application_name` NGP VAN Application Name: the short application identifier NGP VAN issued with your API key (e.g. acmeCrmProduct)
   - `api_key` NGP VAN / EveryAction API key INCLUDING its database-mode suffix, e.g. 7c9e6679-7425-40de-944b-e07fc1f90ae7|1 (|0 =…
   ```
   account { op: "connections.requirements", service: "ngpvan_everyaction" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "ngpvan_everyaction.activist_codes.list" }
   # list activist codes · read · 1 upstream call
   check { action: "ngpvan_everyaction.events.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Bonterra EveryAction / NGP VAN at a glance

**Sign-in**

Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`application_name` `api_key`

**Limits we pace to**

10 calls a second, per connection

**API covered**

VAN CRM API v4 (https://api.securevan.com/v4)`api.securevan.com/v4`

**Built from**

Bonterra EveryAction / NGP VAN's documentation, read 23 October 2026[docs.ngpvan.com](https://docs.ngpvan.com/reference)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

132 of 136 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

4, so ask can line Bonterra EveryAction / NGP VAN up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Bonterra EveryAction / NGP VAN.

234 actions in 105 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **136** read look, never change
- **78** write create and update
- **20** destructive wait for a confirmation

1. ### People
   10
   5 read · 3 write · 2 destructive
   List people · Get people · Find people · Delete people
2. ### Codes
   9
   2 read · 5 write · 2 destructive
   Create codes · Create batch codes · List codes · Get codes
3. ### Events
   6
   2 read · 3 write · 1 destructive
   List events · Create events · Get events · Update events
4. ### People canvass responses
   6
   2 read · 4 write · 0 destructive
   Create people canvass responses · Create by id type people canvass responses · Get people canvass responses · Get by id type people canvass responses
5. ### Commitments
   5
   2 read · 3 write · 0 destructive
   Create commitments · Create recurring payment commitments · List commitments · Get commitments
6. ### Contributions
   5
   3 read · 2 write · 0 destructive
   Create contributions · Create payment contributions · List recent contributions · Get contributions
7. ### Departments
   5
   2 read · 2 write · 1 destructive
   Create departments · List departments · Get departments · Update departments
8. ### Locations
   5
   2 read · 2 write · 1 destructive
   List locations · Create locations · Get locations · Delete locations

**97 more areas · 183 actions**

- Signups **5**
- Employers **4**
- Folders map regions **4**
- Job classes **4**
- People codes **4**
- People notes **4**
- Pledges **4**
- Supporter groups **4**
- Survey questions **4**
- Worksites **4**
- Bargaining units **3**
- Disbursements **3**
- Financial batches **3**
- Member statuses **3**
- Saved lists **3**
- Schedule types **3**
- Score updates **3**
- Shift types **3**
- Users district field values **3**
- Voter registration batches **3**
- Worksites work areas **3**
- Activist codes **2**
- Ballot rejection reasons **2**
- Ballot request types **2**
- Ballot return statuses **2**
- Ballot types **2**
- Bulk import jobs **2**
- Bulk import mapping types **2**
- Campaigns **2**
- Canvass file requests **2**
- Changed entity export jobs **2**
- Contributions attributions **2**
- Custom fields **2**
- Designations **2**
- District fields **2**
- Early vote fields **2**
- Employers bargaining units **2**
- Employers bargaining units job classes **2**
- Employers shift types **2**
- Events types **2**
- Export jobs **2**
- File loading jobs **2**
- Folders **2**
- Minivan exports **2**
- Notes categories **2**
- Online actions forms **2**
- People disclosure field values **2**
- People my activist flags **2**
- Printed lists **2**
- Scores **2**
- Stories **2**
- Supporter groups people **2**
- Target export jobs **2**
- Targets **2**
- API key profiles **1**
- Bulk import jobs resources **1**
- Bulk import mapping types values **1**
- Canvass responses contact types **1**
- Canvass responses input types **1**
- Canvass responses result codes **1**
- Changed entity export jobs change types **1**
- Changed entity export jobs fields **1**
- Changed entity export jobs resources **1**
- Code types **1**
- Codes extended source codes **1**
- Codes supported entities **1**
- Commitments frequencies **1**
- Commitments statuses **1**
- Contributions adjustments **1**
- Contributions attribution types **1**
- Echoes **1**
- Email message **1**
- Email messages **1**
- Employers departments **1**
- Employers worksites **1**
- Events shifts **1**
- Export job types **1**
- File loading jobs stats **1**
- Notes category types **1**
- People activist codes **1**
- People membership **1**
- People names **1**
- People relationships **1**
- Pledges installments **1**
- Pronouns **1**
- Relationships **1**
- Reported ethnicities **1**
- Reported genders **1**
- Reported language preferences **1**
- Reported races **1**
- Reported sexual orientations **1**
- Scores committee access **1**
- Signups statuses **1**
- Voter registration batches people **1**
- Voter registration batches program types **1**
- Voter registration batches registration forms **1**
- Voter registration batches state supported fields **1**

Top actions

## The Bonterra EveryAction / NGP VAN API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 22 of Bonterra EveryAction / NGP VAN's 23 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `ngpvan_everyaction.activist_codes.list` List activist codes | Use this endpoint to retrieve all Activist Codes that are available in the current context. | read | `crm.tag.list` 65 connectors |
| `ngpvan_everyaction.saved_lists.list` List saved lists | Use this endpoint to retrieve metadata about available Saved Lists. | read | `crm.contact_list.list` 34 connectors |
| `ngpvan_everyaction.events.list` List events | Find Events *Description* Use this endpoint to find Events available in the current context using a number of filter options. | read | `comm.event.list` 61 connectors |
| `ngpvan_everyaction.locations.list` List locations | Use this endpoint to find Locations available in the current context using a number of filter options. | read | `crm.location.list` 48 connectors |
| `ngpvan_everyaction.people.list` List people | Returns a [paginated](https://docs.ngpvan.com/reference/pagination) list of [contacts](https://docs.ngpvan.com/reference/common-models#person) who meet all of… | read | `crm.contact.list` 177 connectors |
| `ngpvan_everyaction.activist_codes.get` Get activist codes | Use this endpoint to retrieve information about a specific Activist Code available in the current context. | read | `crm.tag.get` 36 connectors |
| `ngpvan_everyaction.events.create` Create events | Use this endpoint to create a new Event. | write | `comm.event.create` 52 connectors |
| `ngpvan_everyaction.saved_lists.get` Get saved lists | Use this endpoint to get metadata about a saved list. | read | `crm.contact_list.get` 29 connectors |
| `ngpvan_everyaction.people.get` Get people | Retrieve a person record and associated contact information. | read | `crm.contact.get` 176 connectors |
| `ngpvan_everyaction.locations.create` Create locations | Use this endpoint to create a new Location. | write | `crm.location.create` 41 connectors |
| `ngpvan_everyaction.people.delete` Delete people | Suppresses a contact record | destructive | `crm.contact.delete` 147 connectors |
| `ngpvan_everyaction.people_notes.create` Create people notes | Add Notes to a Person using a free-form text description. | write | `crm.contact_note.create` 28 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Bonterra EveryAction / NGP VAN actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   What is on the Bonterra EveryAction / NGP VAN calendar this week?
   calls `ngpvan_everyaction.events.list`
2. Write write
   Create events in Bonterra EveryAction / NGP VAN. Show me exactly what you will send before you save it.
   calls `ngpvan_everyaction.events.create`

Governance for Bonterra EveryAction / NGP VAN

## Destructive actions wait for a yes.

20 Bonterra EveryAction / NGP VAN actions are destructive. These are all of them:

- Delete people `ngpvan_everyaction.people.delete`
- Delete events `ngpvan_everyaction.events.delete`
- Delete locations `ngpvan_everyaction.locations.delete`
- Merge into people `ngpvan_everyaction.people.merge_into`
- Delete codes `ngpvan_everyaction.codes.delete`
- Delete batch codes `ngpvan_everyaction.codes.delete_batch`
- Delete pledges `ngpvan_everyaction.pledges.delete`
- Delete signups `ngpvan_everyaction.signups.delete`
- Delete worksites `ngpvan_everyaction.worksites.delete`
- Delete departments `ngpvan_everyaction.departments.delete`
- Delete people codes `ngpvan_everyaction.people_codes.delete`
- Delete supporter groups `ngpvan_everyaction.supporter_groups.delete`
- Delete worksites work areas `ngpvan_everyaction.worksites_work_areas.delete`
- Unlink employers shift types `ngpvan_everyaction.employers_shift_types.unlink`
- Delete by id type people codes `ngpvan_everyaction.people_codes.delete_by_id_type`
- Remove supporter groups people `ngpvan_everyaction.supporter_groups_people.remove`
- Remove people my activist flags `ngpvan_everyaction.people_my_activist_flags.remove`
- Delete contributions attributions `ngpvan_everyaction.contributions_attributions.delete`
- Unlink employers bargaining units `ngpvan_everyaction.employers_bargaining_units.unlink`
- Unlink employers bargaining units job classes `ngpvan_everyaction.employers_bargaining_units_job_classes.unlink`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do ngpvan_everyaction.people.delete confirm_policy: **human**

Delete people?

**intent:** the user asked me to delete people

run suspended · waiting for a named person · key _ngpvan-everyaction-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "ngpvan-everyaction-agent",
  allowed_actions: ["ngpvan_everyaction.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "ngpvan_everyaction.people.delete", approver: "lead@example.com" },
    { match: "ngpvan_everyaction.events.delete", approver: "lead@example.com" },
    { match: "ngpvan_everyaction.locations.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Bonterra EveryAction / NGP VAN only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Bonterra EveryAction / NGP VAN costs on actionlake.

Every Bonterra EveryAction / NGP VAN action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Bonterra EveryAction / NGP VAN refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 234 Bonterra EveryAction / NGP VAN actions
- 234 actions page each page of a long list is one call
- 132 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Bonterra EveryAction / NGP VAN action.

234 actions by area: the id your agent calls, what it does, and its effect.

**People 10**

- `ngpvan_everyaction.people.delete` Delete people destructive
- `ngpvan_everyaction.people.find` Find people read
- `ngpvan_everyaction.people.find_by_phone` Find by phone people read
- `ngpvan_everyaction.people.find_or_create` Find or create people write
- `ngpvan_everyaction.people.get` Get people read
- `ngpvan_everyaction.people.get_by_id_type` Get by id type people read
- `ngpvan_everyaction.people.list` List people read
- `ngpvan_everyaction.people.merge_into` Merge into people destructive
- `ngpvan_everyaction.people.update` Update people write
- `ngpvan_everyaction.people.update_by_id_type` Update by id type people write

**Codes 9**

- `ngpvan_everyaction.codes.create` Create codes write
- `ngpvan_everyaction.codes.create_batch` Create batch codes write
- `ngpvan_everyaction.codes.delete` Delete codes destructive
- `ngpvan_everyaction.codes.delete_batch` Delete batch codes destructive
- `ngpvan_everyaction.codes.get` Get codes read
- `ngpvan_everyaction.codes.list` List codes read
- `ngpvan_everyaction.codes.patch` Update codes write
- `ngpvan_everyaction.codes.update` Update codes write
- `ngpvan_everyaction.codes.update_batch` Update batch codes write

**Events 6**

- `ngpvan_everyaction.events.create` Create events write
- `ngpvan_everyaction.events.delete` Delete events destructive
- `ngpvan_everyaction.events.get` Get events read
- `ngpvan_everyaction.events.list` List events read
- `ngpvan_everyaction.events.patch` Update events write
- `ngpvan_everyaction.events.update` Update events write

**People canvass responses 6**

- `ngpvan_everyaction.people_canvass_responses.create` Create people canvass responses write
- `ngpvan_everyaction.people_canvass_responses.create_by_id_type` Create by id type people canvass responses write
- `ngpvan_everyaction.people_canvass_responses.get` Get people canvass responses read
- `ngpvan_everyaction.people_canvass_responses.get_by_id_type` Get by id type people canvass responses read
- `ngpvan_everyaction.people_canvass_responses.patch` Update people canvass responses write
- `ngpvan_everyaction.people_canvass_responses.patch_by_id_type` Patch by id type people canvass responses write

**Commitments 5**

- `ngpvan_everyaction.commitments.create` Create commitments write
- `ngpvan_everyaction.commitments.create_recurring_payment` Create recurring payment commitments write
- `ngpvan_everyaction.commitments.get` Get commitments read
- `ngpvan_everyaction.commitments.list` List commitments read
- `ngpvan_everyaction.commitments.update` Update commitments write

**Contributions 5**

- `ngpvan_everyaction.contributions.create` Create contributions write
- `ngpvan_everyaction.contributions.create_payment` Create payment contributions write
- `ngpvan_everyaction.contributions.get` Get contributions read
- `ngpvan_everyaction.contributions.get_by_alternate_id` Get by alternate id contributions read
- `ngpvan_everyaction.contributions.list_recent` List recent contributions read

**Departments 5**

- `ngpvan_everyaction.departments.create` Create departments write
- `ngpvan_everyaction.departments.delete` Delete departments destructive
- `ngpvan_everyaction.departments.get` Get departments read
- `ngpvan_everyaction.departments.list` List departments read
- `ngpvan_everyaction.departments.update` Update departments write

**Locations 5**

- `ngpvan_everyaction.locations.create` Create locations write
- `ngpvan_everyaction.locations.delete` Delete locations destructive
- `ngpvan_everyaction.locations.find_or_create` Find or create locations write
- `ngpvan_everyaction.locations.get` Get locations read
- `ngpvan_everyaction.locations.list` List locations read

**Signups 5**

- `ngpvan_everyaction.signups.create` Create signups write
- `ngpvan_everyaction.signups.delete` Delete signups destructive
- `ngpvan_everyaction.signups.get` Get signups read
- `ngpvan_everyaction.signups.list` List signups read
- `ngpvan_everyaction.signups.update` Update signups write

**Employers 4**

- `ngpvan_everyaction.employers.create` Create employers write
- `ngpvan_everyaction.employers.get` Get employers read
- `ngpvan_everyaction.employers.list` List employers read
- `ngpvan_everyaction.employers.update` Update employers write

**Folders map regions 4**

- `ngpvan_everyaction.folders_map_regions.get` Get folders map regions read
- `ngpvan_everyaction.folders_map_regions.list` List folders map regions read
- `ngpvan_everyaction.folders_map_regions.refresh` Refresh folders map regions write
- `ngpvan_everyaction.folders_map_regions.refresh_all` Refresh all folders map regions write

**Job classes 4**

- `ngpvan_everyaction.job_classes.create` Create job classes write
- `ngpvan_everyaction.job_classes.get` Get job classes read
- `ngpvan_everyaction.job_classes.list` List job classes read
- `ngpvan_everyaction.job_classes.update` Update job classes write

**People codes 4**

- `ngpvan_everyaction.people_codes.create` Create people codes write
- `ngpvan_everyaction.people_codes.create_by_id_type` Create by id type people codes write
- `ngpvan_everyaction.people_codes.delete` Delete people codes destructive
- `ngpvan_everyaction.people_codes.delete_by_id_type` Delete by id type people codes destructive

**People notes 4**

- `ngpvan_everyaction.people_notes.create` Create people notes write
- `ngpvan_everyaction.people_notes.create_by_id_type` Create by id type people notes write
- `ngpvan_everyaction.people_notes.list` List people notes read
- `ngpvan_everyaction.people_notes.update` Update people notes write

**Pledges 4**

- `ngpvan_everyaction.pledges.create` Create pledges write
- `ngpvan_everyaction.pledges.delete` Delete pledges destructive
- `ngpvan_everyaction.pledges.get` Get pledges read
- `ngpvan_everyaction.pledges.list` List pledges read

**Supporter groups 4**

- `ngpvan_everyaction.supporter_groups.create` Create supporter groups write
- `ngpvan_everyaction.supporter_groups.delete` Delete supporter groups destructive
- `ngpvan_everyaction.supporter_groups.get` Get supporter groups read
- `ngpvan_everyaction.supporter_groups.list` List supporter groups read

**Survey questions 4**

- `ngpvan_everyaction.survey_questions.create` Create survey questions write
- `ngpvan_everyaction.survey_questions.get` Get survey questions read
- `ngpvan_everyaction.survey_questions.list` List survey questions read
- `ngpvan_everyaction.survey_questions.update` Update survey questions write

**Worksites 4**

- `ngpvan_everyaction.worksites.delete` Delete worksites destructive
- `ngpvan_everyaction.worksites.get` Get worksites read
- `ngpvan_everyaction.worksites.list` List worksites read
- `ngpvan_everyaction.worksites.update` Update worksites write

**Bargaining units 3**

- `ngpvan_everyaction.bargaining_units.create` Create bargaining units write
- `ngpvan_everyaction.bargaining_units.get` Get bargaining units read
- `ngpvan_everyaction.bargaining_units.list` List bargaining units read

**Disbursements 3**

- `ngpvan_everyaction.disbursements.get` Get disbursements read
- `ngpvan_everyaction.disbursements.list_recent` List recent disbursements read
- `ngpvan_everyaction.disbursements.upsert` Upsert disbursements write

**Financial batches 3**

- `ngpvan_everyaction.financial_batches.create` Create financial batches write
- `ngpvan_everyaction.financial_batches.get` Get financial batches read
- `ngpvan_everyaction.financial_batches.list` List financial batches read

**Member statuses 3**

- `ngpvan_everyaction.member_statuses.create` Create member statuses write
- `ngpvan_everyaction.member_statuses.get` Get member statuses read
- `ngpvan_everyaction.member_statuses.list` List member statuses read

**Saved lists 3**

- `ngpvan_everyaction.saved_lists.get` Get saved lists read
- `ngpvan_everyaction.saved_lists.list` List saved lists read
- `ngpvan_everyaction.saved_lists.sms_sync` Sms sync saved lists write

**Schedule types 3**

- `ngpvan_everyaction.schedule_types.create` Create schedule types write
- `ngpvan_everyaction.schedule_types.get` Get schedule types read
- `ngpvan_everyaction.schedule_types.list` List schedule types read

**Score updates 3**

- `ngpvan_everyaction.score_updates.get` Get score updates read
- `ngpvan_everyaction.score_updates.list` List score updates read
- `ngpvan_everyaction.score_updates.update` Update score updates write

**Shift types 3**

- `ngpvan_everyaction.shift_types.create` Create shift types write
- `ngpvan_everyaction.shift_types.get` Get shift types read
- `ngpvan_everyaction.shift_types.list` List shift types read

**Users district field values 3**

- `ngpvan_everyaction.users_district_field_values.add` Add users district field values write
- `ngpvan_everyaction.users_district_field_values.list` List users district field values read
- `ngpvan_everyaction.users_district_field_values.replace` Replace users district field values write

**Voter registration batches 3**

- `ngpvan_everyaction.voter_registration_batches.create` Create voter registration batches write
- `ngpvan_everyaction.voter_registration_batches.list` List voter registration batches read
- `ngpvan_everyaction.voter_registration_batches.update` Update voter registration batches write

**Worksites work areas 3**

- `ngpvan_everyaction.worksites_work_areas.create` Create worksites work areas write
- `ngpvan_everyaction.worksites_work_areas.delete` Delete worksites work areas destructive
- `ngpvan_everyaction.worksites_work_areas.update` Update worksites work areas write

**Activist codes 2**

- `ngpvan_everyaction.activist_codes.get` Get activist codes read
- `ngpvan_everyaction.activist_codes.list` List activist codes read

**Ballot rejection reasons 2**

- `ngpvan_everyaction.ballot_rejection_reasons.get` Get ballot rejection reasons read
- `ngpvan_everyaction.ballot_rejection_reasons.list` List ballot rejection reasons read

**Ballot request types 2**

- `ngpvan_everyaction.ballot_request_types.get` Get ballot request types read
- `ngpvan_everyaction.ballot_request_types.list` List ballot request types read

**Ballot return statuses 2**

- `ngpvan_everyaction.ballot_return_statuses.get` Get ballot return statuses read
- `ngpvan_everyaction.ballot_return_statuses.list` List ballot return statuses read

**Ballot types 2**

- `ngpvan_everyaction.ballot_types.get` Get ballot types read
- `ngpvan_everyaction.ballot_types.list` List ballot types read

**Bulk import jobs 2**

- `ngpvan_everyaction.bulk_import_jobs.create` Create bulk import jobs write
- `ngpvan_everyaction.bulk_import_jobs.get` Get bulk import jobs read

**Bulk import mapping types 2**

- `ngpvan_everyaction.bulk_import_mapping_types.get` Get bulk import mapping types read
- `ngpvan_everyaction.bulk_import_mapping_types.list` List bulk import mapping types read

**Campaigns 2**

- `ngpvan_everyaction.campaigns.get` Get campaigns read
- `ngpvan_everyaction.campaigns.list` List campaigns read

**Canvass file requests 2**

- `ngpvan_everyaction.canvass_file_requests.create` Create canvass file requests write
- `ngpvan_everyaction.canvass_file_requests.get` Get canvass file requests read

**Changed entity export jobs 2**

- `ngpvan_everyaction.changed_entity_export_jobs.create` Create changed entity export jobs write
- `ngpvan_everyaction.changed_entity_export_jobs.get` Get changed entity export jobs read

**Contributions attributions 2**

- `ngpvan_everyaction.contributions_attributions.delete` Delete contributions attributions destructive
- `ngpvan_everyaction.contributions_attributions.upsert` Upsert contributions attributions write

**Custom fields 2**

- `ngpvan_everyaction.custom_fields.get` Get custom fields read
- `ngpvan_everyaction.custom_fields.list` List custom fields read

**Designations 2**

- `ngpvan_everyaction.designations.get` Get designations read
- `ngpvan_everyaction.designations.list` List designations read

**District fields 2**

- `ngpvan_everyaction.district_fields.get` Get district fields read
- `ngpvan_everyaction.district_fields.list` List district fields read

**Early vote fields 2**

- `ngpvan_everyaction.early_vote_fields.get` Get early vote fields read
- `ngpvan_everyaction.early_vote_fields.list` List early vote fields read

**Employers bargaining units 2**

- `ngpvan_everyaction.employers_bargaining_units.link` Link employers bargaining units write
- `ngpvan_everyaction.employers_bargaining_units.unlink` Unlink employers bargaining units destructive

**Employers bargaining units job classes 2**

- `ngpvan_everyaction.employers_bargaining_units_job_classes.link` Link employers bargaining units job classes write
- `ngpvan_everyaction.employers_bargaining_units_job_classes.unlink` Unlink employers bargaining units job classes destructive

**Employers shift types 2**

- `ngpvan_everyaction.employers_shift_types.link` Link employers shift types write
- `ngpvan_everyaction.employers_shift_types.unlink` Unlink employers shift types destructive

**Events types 2**

- `ngpvan_everyaction.events_types.get` Get events types read
- `ngpvan_everyaction.events_types.list` List events types read

**Export jobs 2**

- `ngpvan_everyaction.export_jobs.create` Create export jobs write
- `ngpvan_everyaction.export_jobs.get` Get export jobs read

**File loading jobs 2**

- `ngpvan_everyaction.file_loading_jobs.create` Create file loading jobs write
- `ngpvan_everyaction.file_loading_jobs.get` Get file loading jobs read

**Folders 2**

- `ngpvan_everyaction.folders.get` Get folders read
- `ngpvan_everyaction.folders.list` List folders read

**Minivan exports 2**

- `ngpvan_everyaction.minivan_exports.get` Get minivan exports read
- `ngpvan_everyaction.minivan_exports.list` List minivan exports read

**Notes categories 2**

- `ngpvan_everyaction.notes_categories.get` Get notes categories read
- `ngpvan_everyaction.notes_categories.list` List notes categories read

**Online actions forms 2**

- `ngpvan_everyaction.online_actions_forms.get` Get online actions forms read
- `ngpvan_everyaction.online_actions_forms.list` List online actions forms read

**People disclosure field values 2**

- `ngpvan_everyaction.people_disclosure_field_values.set` Set people disclosure field values write
- `ngpvan_everyaction.people_disclosure_field_values.set_by_id_type` Set by id type people disclosure field values write

**People my activist flags 2**

- `ngpvan_everyaction.people_my_activist_flags.apply` Apply people my activist flags write
- `ngpvan_everyaction.people_my_activist_flags.remove` Remove people my activist flags destructive

**Printed lists 2**

- `ngpvan_everyaction.printed_lists.get` Get printed lists read
- `ngpvan_everyaction.printed_lists.list` List printed lists read

**Scores 2**

- `ngpvan_everyaction.scores.get` Get scores read
- `ngpvan_everyaction.scores.list` List scores read

**Stories 2**

- `ngpvan_everyaction.stories.create` Create stories write
- `ngpvan_everyaction.stories.get` Get stories read

**Supporter groups people 2**

- `ngpvan_everyaction.supporter_groups_people.add` Add supporter groups people write
- `ngpvan_everyaction.supporter_groups_people.remove` Remove supporter groups people destructive

**Target export jobs 2**

- `ngpvan_everyaction.target_export_jobs.create` Create target export jobs write
- `ngpvan_everyaction.target_export_jobs.get` Get target export jobs read

**Targets 2**

- `ngpvan_everyaction.targets.get` Get targets read
- `ngpvan_everyaction.targets.list` List targets read

**API key profiles 1**

- `ngpvan_everyaction.api_key_profiles.list` List api key profiles read

**Bulk import jobs resources 1**

- `ngpvan_everyaction.bulk_import_jobs_resources.list` List bulk import jobs resources read

**Bulk import mapping types values 1**

- `ngpvan_everyaction.bulk_import_mapping_types_values.list` List bulk import mapping types values read

**Canvass responses contact types 1**

- `ngpvan_everyaction.canvass_responses_contact_types.list` List canvass responses contact types read

**Canvass responses input types 1**

- `ngpvan_everyaction.canvass_responses_input_types.list` List canvass responses input types read

**Canvass responses result codes 1**

- `ngpvan_everyaction.canvass_responses_result_codes.list` List canvass responses result codes read

**Changed entity export jobs change types 1**

- `ngpvan_everyaction.changed_entity_export_jobs_change_types.get` Get changed entity export jobs change types read

**Changed entity export jobs fields 1**

- `ngpvan_everyaction.changed_entity_export_jobs_fields.get` Get changed entity export jobs fields read

**Changed entity export jobs resources 1**

- `ngpvan_everyaction.changed_entity_export_jobs_resources.list` List changed entity export jobs resources read

**Code types 1**

- `ngpvan_everyaction.code_types.list` List code types read

**Codes extended source codes 1**

- `ngpvan_everyaction.codes_extended_source_codes.list` List codes extended source codes read

**Codes supported entities 1**

- `ngpvan_everyaction.codes_supported_entities.list` List codes supported entities read

**Commitments frequencies 1**

- `ngpvan_everyaction.commitments_frequencies.list` List commitments frequencies read

**Commitments statuses 1**

- `ngpvan_everyaction.commitments_statuses.list` List commitments statuses read

**Contributions adjustments 1**

- `ngpvan_everyaction.contributions_adjustments.create` Create contributions adjustments write

**Contributions attribution types 1**

- `ngpvan_everyaction.contributions_attribution_types.list` List contributions attribution types read

**Echoes 1**

- `ngpvan_everyaction.echoes.test` Test echoes read

**Email message 1**

- `ngpvan_everyaction.email_message.get` Get email message read

**Email messages 1**

- `ngpvan_everyaction.email_messages.list` List email messages read

**Employers departments 1**

- `ngpvan_everyaction.employers_departments.create` Create employers departments write

**Employers worksites 1**

- `ngpvan_everyaction.employers_worksites.create` Create employers worksites write

**Events shifts 1**

- `ngpvan_everyaction.events_shifts.create` Create events shifts write

**Export job types 1**

- `ngpvan_everyaction.export_job_types.list` List export job types read

**File loading jobs stats 1**

- `ngpvan_everyaction.file_loading_jobs_stats.list` List file loading jobs stats read

**Notes category types 1**

- `ngpvan_everyaction.notes_category_types.list` List notes category types read

**People activist codes 1**

- `ngpvan_everyaction.people_activist_codes.list` List people activist codes read

**People membership 1**

- `ngpvan_everyaction.people_membership.get` Get people membership read

**People names 1**

- `ngpvan_everyaction.people_names.update` Update people names write

**People relationships 1**

- `ngpvan_everyaction.people_relationships.create` Create people relationships write

**Pledges installments 1**

- `ngpvan_everyaction.pledges_installments.list` List pledges installments read

**Pronouns 1**

- `ngpvan_everyaction.pronouns.list` List pronouns read

**Relationships 1**

- `ngpvan_everyaction.relationships.list` List relationships read

**Reported ethnicities 1**

- `ngpvan_everyaction.reported_ethnicities.list` List reported ethnicities read

**Reported genders 1**

- `ngpvan_everyaction.reported_genders.list` List reported genders read

**Reported language preferences 1**

- `ngpvan_everyaction.reported_language_preferences.list` List reported language preferences read

**Reported races 1**

- `ngpvan_everyaction.reported_races.list` List reported races read

**Reported sexual orientations 1**

- `ngpvan_everyaction.reported_sexual_orientations.list` List reported sexual orientations read

**Scores committee access 1**

- `ngpvan_everyaction.scores_committee_access.list` List scores committee access read

**Signups statuses 1**

- `ngpvan_everyaction.signups_statuses.list` List signups statuses read

**Voter registration batches people 1**

- `ngpvan_everyaction.voter_registration_batches_people.add` Add voter registration batches people write

**Voter registration batches program types 1**

- `ngpvan_everyaction.voter_registration_batches_program_types.list` List voter registration batches program types read

**Voter registration batches registration forms 1**

- `ngpvan_everyaction.voter_registration_batches_registration_forms.list` List voter registration batches registration forms read

**Voter registration batches state supported fields 1**

- `ngpvan_everyaction.voter_registration_batches_state_supported_fields.list` List voter registration batches state supported fields read

Questions

## The Bonterra EveryAction / NGP VAN MCP server, answered.

**Is there a Bonterra EveryAction / NGP VAN MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 234 Bonterra EveryAction / NGP VAN actions across people, codes, events and people canvass responses, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Bonterra EveryAction / NGP VAN.

**What do I need to connect Bonterra EveryAction / NGP VAN?**

NGP VAN Application Name: the short application identifier NGP VAN issued with your API key (e.g. acmeCrmProduct) and NGP VAN / EveryAction API key INCLUDING its database-mode suffix, e.g. 7c9e6679-7425-40de-944b-e07fc1f90ae7|1 (|0 =…. The free call account { op: "connections.requirements", service: "ngpvan_everyaction" } lists exactly what to paste.

**Can an AI agent delete or change things in Bonterra EveryAction / NGP VAN?**

Only if its key allows it, and only with an explicit confirmation. 20 Bonterra EveryAction / NGP VAN actions are destructive, including delete people, delete events and delete locations. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Bonterra EveryAction / NGP VAN API limit?**

actionlake paces every call to the limits in the Bonterra EveryAction / NGP VAN service file: 10 calls a second per connection. Repeated reads are answered from cache (132 Bonterra EveryAction / NGP VAN actions can be), which never reaches Bonterra EveryAction / NGP VAN.

**What does a Bonterra EveryAction / NGP VAN action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (234 Bonterra EveryAction / NGP VAN actions page). Cache hits, searches, dry runs and calls Bonterra EveryAction / NGP VAN refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Bonterra EveryAction / NGP VAN API does it cover?**

The VAN CRM API v4 (https://api.securevan.com/v4) at api.securevan.com/v4. It is built from Bonterra EveryAction / NGP VAN's documentation as read on 23 October 2026. 234 actions in 105 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Bonterra EveryAction / NGP VAN data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Bonterra EveryAction / NGP VAN credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Bonterra EveryAction / NGP VAN

Shares the most action names with

- [VaultRE 12](https://actionlake.com/connectors/vaultre)
- [Virtuous CRM 11](https://actionlake.com/connectors/virtuous-crm)
- [JobAdder 9](https://actionlake.com/connectors/jobadder)
- [Neon CRM 8](https://actionlake.com/connectors/neon-crm)
- [Bloomerang 8](https://actionlake.com/connectors/bloomerang)
- [Google Contacts 6](https://actionlake.com/connectors/google-contacts)

Joins with, on shared entities

- [Constant Contact 3](https://actionlake.com/connectors/constant-contact)
- [HaloPSA 2](https://actionlake.com/connectors/halopsa)
- [Planning Center 2](https://actionlake.com/connectors/planning-center)
- [Odoo 2](https://actionlake.com/connectors/odoo)
- [HighLevel (LeadConnector) 2](https://actionlake.com/connectors/highlevel-leadconnector)
- [Cvent 2](https://actionlake.com/connectors/cvent)

Browse

- [All CRM & sales connectors](https://actionlake.com/connectors/category/crm-and-sales)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Bonterra EveryAction / NGP VAN; the name is the vendor's own. Counts are from the Bonterra EveryAction / NGP VAN service file, version 1.0.0.

## Give your agent Bonterra EveryAction / NGP VAN today.

[Connect Bonterra EveryAction / NGP VAN free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/bonterra-everyaction-ngp-van
More: https://actionlake.com/llms.txt
