Skip to content
Elaichi Elaichi

CRM

Virtuous

Connect Virtuous once and hand every teammate a governed MCP endpoint with 345 tools ready to call from Claude, ChatGPT, Cursor, or any MCP client, inside the same permissions they already have, with every call checked and logged.

Virtuous

See it in Elaichi

What connecting Virtuous gets you

6 screens from the product, each doing one job for your Virtuous account.

The agent

Ask virtuous questions, get answers from real records.

Type a question in plain language and get a live answer from your contacts and gifts.

  • contacts
  • gifts
  • receipts
  • organizations

Ask Elaichi to work across your apps.

Show me all major donors who gave last quarter.

Draft a gift receipt summary for this contact.

List contacts with lapsed pledges this month.

Also runs in Claude, ChatGPT or Cursor

MCP clients

One virtuous endpoint, every mcp client welcome.

Claude, chatgpt and cursor connect through a single org-wide endpoint, no sdk or shared key.

Claude ChatGPT Cursor

Copy the endpoint

https://api.elaichi.ai/mcp
Client Connected by Status Last used
Claude
E

Emma Laurent

• Connected 4 minutes ago
Cursor
S

Sofia Ricci

• Connected 2 hours ago
ChatGPT
C

Clara Nowak

• Connected Yesterday

Tool catalogue

345 virtuous tools, zero integration code.

Every contact, gift and organization method is catalogued and ready to call.

  • virtuous_authentication_get_token
  • list_all_virtuous_organizations
  • virtuous_organizations_get_current_organization
  • virtuous_organizations_switch_organization
Tool Resource Method Description
virtuous_authentication_get_token virtuous_authentication_get_token get Retrieve an OAuth access token from Virtuous by authenticating with username and password (or refreshing an expired token with a refresh_token). Returns: access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled.issued,…
list_all_virtuous_organizations virtuous_organizations list List Virtuous organizations the current user belongs to. Returns: organizationUserId, organizationName, organizationTimeZone, organizationCulture, isAdministrator, isEnabled.
virtuous_organizations_get_current_organization virtuous_organizations_get_current_organization get Get the current Virtuous organization for the authenticated user. Returns: organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled.
virtuous_organizations_switch_organization virtuous_organizations_switch_organization get Switch the current Virtuous organization for the authenticated user. Returns an empty 200 response on success. Required: organizationUserId.
list_all_virtuous_permissions virtuous_permissions list List permissions for the current user in Virtuous. Returns a collection of permission entries, each with module, action, and allowed. No required parameters.

Toolboxes

Every team gets its own virtuous toolbox.

Fundraising, finance and programs each work from a toolbox scoped to their job.

  • Fundraising
  • Finance
  • Programs
  • Marketing
Name Source template Tools Created

Fundraising toolbox

Virtuous · donors and gifts

Virtuous starter 18 Mar 4, 2026

Finance toolbox

Virtuous · receipts and reconciliation

9 Mar 2, 2026

Programs toolbox

Virtuous · beneficiaries and grants

24 Feb 27, 2026

Marketing toolbox

Virtuous · campaigns and outreach lists

Virtuous starter 6 Feb 19, 2026

Events toolbox

Virtuous · registrations and attendees

31 Jan 30, 2026

Leadership toolbox

Virtuous · organization-wide reporting

12 Jan 22, 2026

Shared connections

Delegated virtuous access, no shared credentials.

See who connected each account and how many teams and members share it.

  • Major Gifts
  • Annual Fund
  • Grants
  • Events
Connection Scope Status Access Created
VI

Virtuous (Major Gifts)

Connected by Emma Laurent

Personal • Active 1 team · 6 members Mar 4, 2026
VI

Virtuous (Annual Fund)

Connected by James Whitfield

Organization • Active 3 teams · 24 members Mar 2, 2026
VI

Virtuous (Grants)

Connected by Sofia Ricci

Organization • Active 2 teams · 11 members Feb 27, 2026
VI

Virtuous (Events)

Connected by Daniel Ortega

Personal • Needs re-auth 1 team · 3 members Feb 19, 2026
VI

Virtuous (Membership)

Connected by Clara Nowak

Personal • Active Not shared Jan 30, 2026
VI

Virtuous (Direct Mail)

Connected by Michael Brennan

Personal • Active 2 teams · 9 members Jan 22, 2026

Audit log

Every virtuous action, logged and answerable.

Who, what, when and which resource, recorded in an append-only log.

  • When
  • Who
  • What happened
  • Resource
When Who What happened Type Resource

2 minutes ago

Mar 6, 2026, 3:10 PM

E

Emma Laurent

[email protected]

Restriction Created Access Support team

8 minutes ago

Mar 6, 2026, 3:04 PM

J

James Whitfield

[email protected]

Restriction Updated Access Sales team

14 minutes ago

Mar 6, 2026, 2:58 PM

S

Sofia Ricci

[email protected]

Role Assigned Access Analyst

20 minutes ago

Mar 6, 2026, 2:52 PM

D

Daniel Ortega

[email protected]

Virtuous Users Updated MCP users

26 minutes ago

Mar 6, 2026, 2:46 PM

C

Clara Nowak

[email protected]

Virtuous Contacts Created MCP contacts

32 minutes ago

Mar 6, 2026, 2:40 PM

M

Michael Brennan

[email protected]

Virtuous Contacts List Toolbox contacts

Automations & dashboards

From answering questions to doing the work

A person no longer has to ask. A trigger starts the work, inside the same permissions and the same audit log as everything else. Automations and live dashboards ship on the Black plan.

Automations

A schedule starts real virtuous work, end to end.

Records are fetched, grouped, drafted by an agent, approved by a person, then posted back.

Virtuous digest

Run 418 · started 2 minutes ago · on behalf of Emma Laurent

  1. Schedule

    Every weekday at 08:00

    0.2s
  2. Fetch contacts

    Virtuous

    1.4s
  3. Group by owner

    Transform

    0.1s
  4. Draft the digest

    Agent step

    Ran with 4 tools, returned a structured summary

    6.2s
  5. Approve the digest

    Needs approval

    Assigned to Michael Brennan

    Approve
  6. Post the digest

    Virtuous

    Queued

Collections and dashboards

Virtuous health, measured on a schedule.

Four metrics, a 14 day chart and a team breakdown, computed with no model involved.

Virtuous health

Refreshed 4 minutes ago · every 15 minutes · from the contacts collection

Live

Contacts

1,284 ↓ 12%

Gifts

96 ↓ 8%

Needs attention

3 ↑ 2

Updated this week

412 ↑ 9%

Contacts created

Last 14 days

By workspace

Share of activity

Major Gifts 34%

Annual Fund 27%

Grants 21%

Events 18%

AI tools

Virtuous tools for your AI agents

345 tools are ready to call through Elaichi's MCP endpoint the moment you connect Virtuous, governed by the same roles, restrictions, and audit log as everything else in Elaichi.

virtuous_authentication_get_token

Retrieve an OAuth access token from Virtuous by authenticating with username and password (or refreshing an expired token with a refresh_token). Returns: access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled.issued,…

list_all_virtuous_organizations

List Virtuous organizations the current user belongs to. Returns: organizationUserId, organizationName, organizationTimeZone, organizationCulture, isAdministrator, isEnabled.

virtuous_organizations_get_current_organization

Get the current Virtuous organization for the authenticated user. Returns: organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled.

virtuous_organizations_switch_organization

Switch the current Virtuous organization for the authenticated user. Returns an empty 200 response on success. Required: organizationUserId.

list_all_virtuous_permissions

List permissions for the current user in Virtuous. Returns a collection of permission entries, each with module, action, and allowed. No required parameters.

get_single_virtuous_contact_by_id

Get a single Virtuous contact by id. Returns the full contact object including id, contactType, name, isPrivate, contactIndividuals, address, customFields, originSegmentId, createDateTimeUtc, and related resource URLs. Required: id.

virtuous_contacts_search

Search Virtuous contacts by keyword. Returns abbreviated contact records with id, name, contactType, contactName, email, phone, address, contactViewUrl, and individualId.

create_a_virtuous_contact

Create a new contact in Virtuous. Returns the created contact object including id, contactType, name, isPrivate, contactIndividuals, address, and customFields. Will not check for contact duplicates; Virtuous recommends using the Contact Transaction endpoint instead to avoid creating duplicates. Required: contactType.

update_a_virtuous_contact_by_id

Update a Contact in Virtuous by id. Returns the full contact object including id, name, contactType, contactIndividuals, address, and customFields. Excluding a property removes its value from the object; the entire model is still required even when updating a single property. Required: id, contactType.

delete_a_virtuous_contact_by_id

Delete a contact in Virtuous by id. Returns an empty 204 response on success. Required: id.

list_all_virtuous_contacts

List Virtuous contacts with abbreviated details using a query filter. Returns: id, name, contactType, contactName, address, email, phone, contactViewUrl. Max 1000 per page.

virtuous_contacts_list_full

List Virtuous contacts with full details including individuals, addresses, custom fields, and gift history URLs. Returns: id, name, description, website, address, tags. Max 1000 per page.

virtuous_contacts_get_by_reference_id

Get a single Virtuous contact by reference source and reference id. Returns the full contact object including id, contactType, name, contactIndividuals, isCurrentUserFollowing, and more. Required: reference_source, reference_id.

virtuous_contacts_list_receipts

List Virtuous contact receipts, optionally filtered by email address. Returns: id, createdDateTimeUtc, receiptType, receiptMedium, emialAddress, receiptTitle. Max 1000 per page.

get_single_virtuous_contact_individual_by_id

Get a single Virtuous contact individual by id. Returns: id, prefix, prefix2, suffix, nickname, gender, passion. Required: id.

update_a_virtuous_contact_individual_by_id

Update a Virtuous contact individual by id. Returns the updated individual including id, contactId, firstName, lastName, gender, isPrimary, contactMethods, createDateTimeUtc, and customFields. Required: id, firstName, lastName.

delete_a_virtuous_contact_individual_by_id

Delete a Virtuous contact individual by id. Returns an empty 200 response on success. Required: id.

create_a_virtuous_contact_individual

Create a new contact individual in Virtuous belonging to an existing contact. Returns the created individual including id, contactId, firstName, lastName, gender, isPrimary, contactMethods, createDateTimeUtc, and customFields. Required: firstName, lastName, contactId.

list_all_virtuous_contact_individuals

Query contact individuals in Virtuous using filter groups with conditions. Returns a list of individuals with id, contactId, firstName, lastName, gender, isPrimary, contactMethods, createDateTimeUtc, and customFields.

create_a_virtuous_contact_note

Create a note for a contact in Virtuous. Returns: customFields, id, contactId, noteDate, type, note, important, isPrivate, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, createdByAvatarUrl, reminder, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: type, note, contactId.

get_single_virtuous_contact_note_by_id

Get a single contact note by id in Virtuous. Returns: id, type, note, important, reminder. Required: id.

update_a_virtuous_contact_note_by_id

Update a contact note by id in Virtuous. Excluding a property removes its value, so send the entire model even for single-property updates. Returns: id, type, note, important, reminder. Required: id, type, note.

delete_a_virtuous_contact_note_by_id

Delete a contact note by id in Virtuous. Returns an empty response on success. Required: id.

list_all_virtuous_contact_notes

Query contact notes in Virtuous using filter groups and sort options. Returns: id, type, note, important, reminder.

virtuous_contact_notes_get_by_contact

List all contact notes for a specific contact in Virtuous. Returns each note with id, contactId, note, type, important, isPrivate, noteDate, createDateTimeUtc, modifiedDateTimeUtc, and a nested reminder object. Required: bycontact_id.

virtuous_contact_notes_list_query_options

Get all possible query options for contact notes in Virtuous. Returns: options, operatorOptions.

virtuous_tags_search

Search Virtuous tags by name, fully or partially. Returns: id, contactsByTagUrl.

list_all_virtuous_tags

List all tags in Virtuous. Returns: id, tagName, tagGroupName, contactsByTagUrl.

get_single_virtuous_gift_by_id

Get a single Virtuous gift by id. Returns: id, amount, batch, segment, grant, notes, tribute, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: id.

create_a_virtuous_gift

Create a new gift directly on a contact record in Virtuous. Returns the created gift including id, contactId, giftType, giftDate, amount, giftDesignations, and customFields. Virtuous recommends using the Gift Transaction endpoint instead to leverage contact matching and avoid data duplication. Required: giftType, giftDate, amount, contactId.

update_a_virtuous_gift_by_id

Update a gift in Virtuous by id. Returns the updated gift including id, contactId, giftType, giftDate, amount, currencyCode, giftDesignations, giftPremiums, and customFields. Required: id, giftType, giftDate, amount.

delete_a_virtuous_gift_by_id

Delete a Virtuous gift by id. Returns an empty 200 response on success. Required: id.

virtuous_gifts_bulk_create

Bulk create up to 100 gifts at a time in Virtuous, attaching them directly to contact records. Returns: id, amount, batch, segment, grant, notes, tribute. Not recommended; use the Gift Transaction endpoint for proper contact matching instead.

list_all_virtuous_gifts

Query gifts in Virtuous with abbreviated details using filter groups and sort options. Returns: id, amount, segment, batch, culture. Sort by Id, Amount, GiftDate, ReceiptDate, or Batch.

virtuous_gifts_list_full

Query gifts in Virtuous with full details using filter groups and sort options. Returns: id, amount, batch, segment, grant, notes, tribute. Sort by Id, Amount, GiftDate, ReceiptDate, or Batch. This endpoint can cause performance issues; the simpler Gift Query endpoint is recommended. Max 1000 records per page.

virtuous_gifts_get_by_transaction_id

Get a single Virtuous gift by its transaction source and transaction id. Returns: id, amount, batch, segment, grant, notes, tribute, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: transaction_source, transaction_id.

virtuous_gifts_bulk_update

Update many Virtuous gifts in a single PATCH request. Only the gift id and the fields being changed need to be sent — this is a partial patch, not a full replacement. Returns: id, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled.

create_a_virtuous_gift_ask

Create a new gift ask in Virtuous. Returns the created gift ask including id, contactId, askAmount, askType, status, askDate, frequency, declined, notes, and customFields. Required: askAmount, status, contactId.

get_single_virtuous_gift_ask_by_id

Get a single gift ask in Virtuous by id. Returns the gift ask object including id, contactId, askAmount, askType, status, askDate, frequency, declined, notes, and customFields. Required: id.

update_a_virtuous_gift_ask_by_id

Update a gift ask in Virtuous by id. Excluding a property removes its value from the object, but the full model is still required. Returns the updated gift ask including id, contactId, askAmount, askType, status, askDate, frequency, declined, notes, and customFields. Required: id, askAmount, status.

list_all_virtuous_gift_asks

Query gift asks in Virtuous using filter groups with conditions. Returns a paginated list of gift asks with id, contactId, askAmount, askType, status, askDate, frequency, declined, notes, and customFields.

create_a_virtuous_planned_gift

Create a new planned gift in Virtuous. Returns the created planned gift including id, contactId, plannedGiftDate, frequency, anticipatedAmount, fulfilled, project, segment, createDateTimeUtc, and customFields. Required: plannedGiftDate, plannedGiftType, frequency, contactId.

get_single_virtuous_planned_gift_by_id

Get a single planned gift in Virtuous by id. Returns: id, frequency, fulfilled, project, segment. Required: id.

update_a_virtuous_planned_gift_by_id

Update a planned gift in Virtuous by id. Excluding a property removes its value; the full model is required even for single-property updates. Returns: id, frequency, fulfilled, project, segment. Required: id, plannedGiftDate, plannedGiftType, frequency.

list_all_virtuous_planned_gifts

Query planned gifts in Virtuous using filter groups with conditions, sort field, and sort direction. Returns: id, frequency, fulfilled, project, segment. Max 1000 records per page.

create_a_virtuous_pledge

Create a new pledge in Virtuous. Returns the created pledge object including id, contactId, amountPledged, frequency, pledgeDate, status, payments, and customFields. Required: pledgeDate, amount, frequency, contactId.

update_a_virtuous_pledge_by_id

Update an existing pledge in Virtuous by id. Excluding a property removes its value from the object; the entire model is still required even when updating a single property. Returns the updated pledge including id, contactId, amountPledged, frequency, status, payments, and customFields. Required: id, pledgeDate, amount, frequency.

get_single_virtuous_pledge_by_id

Get a single Virtuous pledge by id. Returns: id, frequency, amount, segment, project. Required: id.

get_single_virtuous_recurring_gift_by_id

Get a single recurring gift in Virtuous by id. Returns the full recurring gift object including id, contactId, amount, giftDate, giftType, giftDesignations, recurringGiftPayments, customFields, and isPrivate. Required: id.

update_a_virtuous_recurring_gift_by_id

Update an existing recurring gift in Virtuous by id. Returns the updated recurring gift object including id, contactId, giftType, giftDate, amount, currencyCode, and giftDesignations. Required: id, startDate, frequency.

create_a_virtuous_recurring_gift

Create a new recurring gift in Virtuous. Returns the created recurring gift object including id, contactId, giftType, giftDate, amount, currencyCode, giftDesignations, recurringGiftPayments, isPrivate, isTaxDeductible, and customFields. Required: startDate, frequency, contactId.

virtuous_recurring_gifts_bulk_update

Bulk update multiple Recurring Gifts in Virtuous by sending a JSON array where each item includes only the id and the fields being changed (patch semantics). Returns the updated recurring gift including id, contactId, amount, giftDate, giftDesignations, and customFields.

list_all_virtuous_recurring_gifts

Query recurring gifts in Virtuous. Filters are groups of conditions (parameter, operator, value; optional secondaryValue/values), combined with a conjunct (0 = And, 1 = Or), plus sortBy, descending and includeArchived. Use recurring_gift_query_options.list to discover the available filter parameters and operators. Paginated with skip/take (max take 1,000). Returns: id, contactId, transactionSource, transactionId, recurringGiftDate, startDate, amount, frequency, anticipatedEndDate, cancelDateTimeUtc, status, nextExpectedPaymentDate, segmentId, segment, automatedPayments, trackPayments, isPrivate, designations (projectId, project, amountDesignated, projectCode), customFields, createDateTimeUtc, modifiedDateTimeUtc.

get_single_virtuous_premium_by_id

Get a single Virtuous premium by id. Returns: customFields, id, name, code, description, price, fairMarketValue, cost, inventoryCount, isActive, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: id.

update_a_virtuous_premium_by_id

Update an existing Virtuous premium by id. Returns the updated premium object including id, name, code, description, price, fairMarketValue, cost, inventoryCount, isActive, and customFields. Required: id, name, code, price, fairMarketValue.

create_a_virtuous_premium

Create a new Virtuous premium. Returns the created premium object including id, name, code, description, price, fairMarketValue, cost, inventoryCount, isActive, and customFields. Required: name, code, price, fairMarketValue.

virtuous_premiums_search

Search Virtuous premiums by a search term. Returns a paged list of premium records including id, name, code, description, price, fairMarketValue, cost, inventoryCount, isActive, and customFields.

virtuous_premiums_get_by_premium_code

Get a single Virtuous premium by its unique code. Returns: customFields, id, name, code, description, price, fairMarketValue, cost, inventoryCount, isActive, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: code_id.

create_a_virtuous_tribute

Create a new tribute in Virtuous. Returns the created tribute object including its id, tributeType, firstName, lastName, address fields, postalCode, defaultAcknowledgeeIndividualId, and create/modified audit fields. Required: tributeType, firstName, lastName.

update_a_virtuous_tribute_by_id

Update an existing tribute in Virtuous by id. Returns the updated tribute object including its id, tributeType, firstName, lastName, address fields, postalCode, defaultAcknowledgeeIndividualId, and create/modified audit fields. Required: id, tributeType, firstName, lastName.

get_single_virtuous_campaign_by_id

Get a single Campaign in Virtuous by id. Returns the campaign object including its id, name, createDateTimeUtc, and modifiedDateTimeUtc. Required: id.

create_a_virtuous_campaign

Create a new campaign in Virtuous. Returns the created campaign object including its id, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, and modifiedByUser.

update_a_virtuous_campaign_by_id

Update a campaign in Virtuous by id. Send the full campaign model: excluding a property clears its value. Returns the updated campaign including campaignId, name, startDateTimeUtc, endDateTimeUtc, givingGoal, newGiverGoal, totalGiftGoal, isArchived, createDateTimeUtc and modifiedDateTimeUtc. Required: id, name.

list_all_virtuous_campaigns

Query campaigns in Virtuous. Filters are groups of conditions (parameter, operator, value; optional secondaryValue/values), combined with a conjunct (0 = And, 1 = Or), plus sortBy, descending and includeArchived. Use campaign_query_options.list to discover the available filter parameters and operators. Paginated with skip/take (max take 1,000). Returns: campaignId, name, startDateTimeUtc, endDateTimeUtc, givingGoal, newGiverGoal, totalGiftGoal, isArchived, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser.

list_all_virtuous_segments

List Segments in Virtuous. Returns a paginated collection of segment records including id, name, code, isActive, segmentUrl, createDateTimeUtc, modifiedDateTimeUtc, and customFields.

get_single_virtuous_segment_by_id

Get a single Segment by id in Virtuous. Returns the full segment object including id, name, code, isActive, segmentUrl, createDateTimeUtc, modifiedDateTimeUtc, and customFields. Required: id.

update_a_virtuous_segment_by_id

Update a Segment by id in Virtuous. Excluding a property will remove its value from the object; the entire model is still required even when updating a single property. Returns the updated segment object including id, name, code, isActive, segmentUrl, createDateTimeUtc, and modifiedDateTimeUtc. Required: id, name, code.

create_a_virtuous_segment

Create a new Segment in Virtuous. Returns: id, name, description, code. Required: name, code.

virtuous_segments_search

Search for segments in Virtuous that match the given search text. Returns a paginated list of segment records including id, name, code, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, and customFields.

get_single_virtuous_project_by_id

Get Project By Id. Returns: id, name, revenueAccountingCode, projectCode, externalAccountingCode, onlineDisplayName, description, photoUrl. Required: id.

create_a_virtuous_project

Create a new project in Virtuous. Returns the created project with id, projectCode, and additional standard project attributes such as type, location, url, externalAccountingCode, and customFields. Required: name, revenueAccountingCode, inventoryStatus, type, location.

update_a_virtuous_project_by_id

Update a project in Virtuous by id. Send the full project model: excluding a property clears its value. Optional query parameter disableWebhookUpdates suppresses webhook notifications for this change. Returns the updated project including id, name, projectCode, revenueAccountingCode, externalAccountingCode, onlineDisplayName, description, type, location, inventoryStatus, durationType, startDate, endDate, isActive, isPublic, isAvailableOnline, isTaxDeductible, beginningBalance, currentBalance, financialNeedAmount, giftSpecifications, and customFields. Required: id, name, revenueAccountingCode, inventoryStatus, type, location.

virtuous_projects_search

Search projects in Virtuous by a free-text search string, with optional sortBy and descending. Paginated with skip/take (max take 1,000). Returns a list of matching projects with id, name, projectCode, externalAccountingCode, onlineDisplayName, description, type, location, inventoryStatus, isActive, isPublic, isAvailableOnline, beginningBalance, currentBalance, financialNeedAmount, lifeToDateGiving, customFields, plus total. Required: search.

list_all_virtuous_projects

Query projects in Virtuous using filter groups with conditions, sort field, and sort direction. Returns each project's id, name, code, type, location, and externalAccountingCode.

virtuous_projects_bulk_update

Bulk update multiple projects in Virtuous by sending a JSON array where each item includes only the id and the fields being changed (patch semantics): name, projectCode, onlineDisplayName, description, financialNeedAmount, beginningBalance, currentBalance, type, startDate, endDate, customFields. Use this whenever more than one project is being updated. Returns an empty object on success.

get_single_virtuous_event_by_id

Get a single Virtuous event by id. Returns the event object including id and attributes (event fields defined by the upstream EventBindingModel schema). Required: id.

list_all_virtuous_events

List Virtuous events with pagination. Returns: customFields, id, eventViewUrl, name, eventType, locationName, displayAddress, geocodeAddress, startDateTime, endDateTime, timeZone, description, specialInstructions, inviteOnly, rsvpRequired, totalInvites, totalRsvps, totalAttended, totalGifts, totalGiving, communicationId, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser,…

create_a_virtuous_event

Create a new event in Virtuous. Returns the created event object including id and attributes (event fields defined by the upstream EventBindingModel schema). Required: name, startDateTime, endDateTime, timeZone.

update_a_virtuous_event_by_id

Update a Virtuous event by id. Returns the updated event object including its id, location, startDateTime, endDateTime, and timeZone. Excluding a property removes its value; the entire model must be sent even for single-property updates. Required: id, name, startDateTime, endDateTime, timeZone.

delete_a_virtuous_event_by_id

Delete a Virtuous event by id. Returns an empty 200 response on success. Required: id.

virtuous_events_list_query

Query events in Virtuous. Filters are groups of conditions (parameter, operator, value; optional secondaryValue/values), combined with a conjunct (0 = And, 1 = Or), plus sortBy, descending and includeArchived. Use event_query_options.list to discover the available filter parameters and operators. Paginated with skip/take (max take 1,000). Returns: id, name, eventType, eventViewUrl, locationName, displayAddress, startDateTime, endDateTime, timeZone, description, specialInstructions, inviteOnly, rsvpRequired, totalInvites, totalRsvps, totalAttended, totalGifts, totalGiving, communicationId, customFields, generosityEventContacts, createDateTimeUtc, modifiedDateTimeUtc.

virtuous_events_events_attendee_update

Update an event attendee in Virtuous by event and attendee id. Returns: id, invitee, event, location, rsvp, attended, invited, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: event_id, event_attendee_id.

virtuous_events_events_attendee_delete

Delete an event attendee from a specific event in Virtuous. Returns an empty 200 response on success. Required: event_id, event_attendee_id.

list_all_virtuous_event_invitations

List event invitations in Virtuous by submitting a query request with filter groups. Returns: id, invitee, event, location, rsvp, attended, invited. This endpoint is deprecated.

get_single_virtuous_grant_by_id

Get Grant By Id. Returns: customFields, id, grantUrl, giftsAppliedUrl, ownerId, title, grantingOrganizationId, grantingOrganizationUrl. Required: id.

create_a_virtuous_grant

Create a new grant in Virtuous. Returns the created grant object including id, contactId, giftType, giftDate, amount, currencyCode, grantId, grant, grantUrl, and customFields. Required: ownerId, title, grantingOrganizationId.

update_a_virtuous_grant_by_id

Update a grant in Virtuous by id. Send the full grant model: excluding a property clears its value. Returns the updated grant including id, title, ownerId, grantingOrganizationId, receivingOrganizationId, projectId, description, dueDateUtc, totalAnticipatedAmount, status, submissionDateUtc, anticipatedAwardDateUtc, awardedGrant, awardedAmount, grantType, and customFields. Required: id, ownerId, title, grantingOrganizationId.

delete_a_virtuous_grant_by_id

Delete a grant in Virtuous by id. Returns an empty 200 response on success. Required: id.

list_all_virtuous_grants

Query grants in Virtuous. Filters are groups of conditions (parameter, operator, value; optional secondaryValue/values), combined with a conjunct (0 = And, 1 = Or), plus sortBy, descending and includeArchived. Use grant_query_options.list to discover the available filter parameters and operators. Paginated with skip/take (max take 1,000). Returns: id, title, ownerId, grantingOrganizationId, receivingOrganizationId, projectId, project, description, referenceId, dueDateUtc, totalAnticipatedAmount, status, submissionDateUtc, anticipatedAwardDateUtc, awardedGrant, awardedAmount, awardedDateUtc, awardTerms, grantType, pointOfContactName, pointOfContactEmail, pointOfContactPhone, website, customFields.

list_all_virtuous_volunteers

List volunteers for a specific volunteer opportunity in Virtuous. Returns: list, total. Required: volunteer_opportunity_id.

create_a_virtuous_volunteer

Create a volunteer for a specific volunteer opportunity in Virtuous. Returns the created volunteer object including id, volunteerOpportunityId, contactId, contactIndividualId, and emailAddress. Required: volunteer_opportunity_id, contactIndividualId.

get_single_virtuous_volunteer_by_id

Get a single volunteer by id within a volunteer opportunity in Virtuous. Returns: id. Required: id, volunteer_opportunity_id.

delete_a_virtuous_volunteer_by_id

Delete a volunteer by id from a volunteer opportunity in Virtuous. Returns an empty 204 response on success. Required: id, volunteer_opportunity_id.

virtuous_volunteers_search

Search volunteers in Virtuous by volunteer opportunity, contact, or email address. Returns: id, volunteerUrl, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, contactId, contactIndividualId, contactUrl, displayName, firstName, avatarUrl, primaryPhone, primaryEmail, totalHours, timesVolunteered, volunteerAttendanceUrl, volunteerOpportunityId, volunteerOpportunityUrl,…

virtuous_volunteers_list_query

Query volunteers in Virtuous by posting filter conditions in the request body. Returns a paged list of volunteer records including id, volunteerOpportunityId, contactId, contactIndividualId, and emailAddress.

list_all_virtuous_volunteer_opportunities

List volunteer opportunities in Virtuous, optionally filtered by a filter expression. Returns each opportunity with its id and attributes. Accepts a filter query parameter.

create_a_virtuous_volunteer_opportunity

Create a new volunteer opportunity in Virtuous. Returns the created opportunity with its id. Required: name.

get_single_virtuous_volunteer_opportunity_by_id

Get a single volunteer opportunity in Virtuous by id. Returns the opportunity with its id. Required: id.

update_a_virtuous_volunteer_opportunity_by_id

Update an existing volunteer opportunity in Virtuous by id. Returns the updated opportunity with its id. Required: id, name.

delete_a_virtuous_volunteer_opportunity_by_id

Delete a volunteer opportunity in Virtuous by id. Returns an empty 204 response on success. Required: id.

virtuous_volunteer_opportunities_list_query

Query volunteer opportunities in Virtuous. Filters are groups of conditions (parameter, operator, value; optional secondaryValue/values), combined with a conjunct (0 = And, 1 = Or), plus sortBy, descending and includeArchived. Use volunteer_opportunity_query_options.list to discover the available filter parameters and operators. Paginated with skip/take (max take 1,000). Returns: id, projectId, name, url, description, anytime, startDateTime, endDateTime, preferredDateTime, timeZone, isActive, isLocalOnly, currentPriority, currentPriorityName, currentNeed, preferredNumberOfHours, anywhere, locationName, displayAddress, address1, address2, city, state, postal, country, totalVolunteers, totalVolunteerHours, currentNeedFilledPercentage, hoursFilledPercentage, volunteerOrganizers, customFields.

get_single_virtuous_communication_by_id

Get a single Communication in Virtuous by id. Returns: name, description, id. Required: id.

create_a_virtuous_communication

Create a new Communication in Virtuous. Returns the created Communication object including id, createDateTimeUtc, and modifiedDateTimeUtc. Required: name, campaignId, channelType, communicationType, communicationStep, startDateTime, ownerId.

virtuous_communications_list_query

Query Communications in Virtuous using filter conditions and sorting. Returns a list of Communication records including id, createDateTimeUtc, and modifiedDateTimeUtc.

virtuous_communications_list_channel_type_options

List available communication channel types in Virtuous. Returns: a list of channel type strings (e.g. Email, Phone, Letter, SMS). No required parameters.

virtuous_communications_list_communication_type_options

List available communication types in Virtuous. Returns: a list of communication type strings (e.g. Call, Email, Meeting, Letter). No required parameters.

list_all_virtuous_organization_groups

List all Organization Groups in Virtuous. Returns each group with id, organizationGroupUrl, organizationId, organizationName, name, location, description, and organizationGroupContactsUrl. An optional filter query parameter narrows results by name or other attributes.

get_single_virtuous_organization_group_by_id

Get a single Organization Group by id in Virtuous. Returns: id, organizationName, name, description. Required: id.

list_all_virtuous_gift_designations

Query gift designations in Virtuous using filter groups and sorting. Returns each designation with id, amountDesignated, giftId, giftDate, projectId, project, contactId, and contactName. Sortable by Id, Amount, GiftDate, ReceiptDate, and Batch.

list_all_virtuous_configuration

List contact types in Virtuous. Default types include Household, Organization, and Foundation; additional types are configurable via CRM. Returns: parentType, type.

virtuous_transactions_create_gift

Create a gift transaction in Virtuous via the v2 import endpoint. Transactions are queued for processing with intelligent contact and gift matching rather than created in real-time. Returns an empty response with no body on success. Use webhooks to be notified when the actual gift is created.

virtuous_transactions_create_contact

Create a contact transaction in Virtuous through the Import Tool, which queues the contact for intelligent matching, validation, and batch processing rather than creating it in real-time. Returns an empty 200 response on success. Use webhooks to be notified when the contact is actually created.

list_all_virtuous_tasks

List tasks in Virtuous. Returns a paginated list of task records including id, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, and modifiedByUser.

create_a_virtuous_task

Create a new task in Virtuous. Returns the created task object including its id, message, targetDate, contactId, reminderType, taskStatus, and owner. Required: taskType, task, dueDateTime.

update_a_virtuous_task_by_id

Update an existing task (reminder) in Virtuous by id. Returns the updated task object including id, message, targetDate, reminderType, taskStatus, description, contactId, and owner. Required: id.

delete_a_virtuous_task_by_id

Delete a Task in Virtuous by id. Returns an empty 204 response on success. Required: id.

list_all_virtuous_webhooks

List webhook subscriptions in Virtuous. Returns each subscription's id, payloadUrl, secret, active, and event subscription flags (contactCreate, giftCreate, projectCreate, formSubmission, etc.). Note: the CRM+ spec does not include a dedicated list-all endpoint; store subscription IDs at creation time.

create_a_virtuous_webhook

Create a new webhook subscription in Virtuous to receive event notifications at your payload URL. Returns the created subscription including id, payloadUrl, secret, active, and all event subscription flags (contactCreate, contactUpdate, giftCreate, giftUpdate, giftDelete, projectCreate, projectUpdate, projectDelete, formSubmission, contactNoteCreate, contactNoteUpdate, contactNoteDelete,…. Required: payloadUrl.

delete_a_virtuous_webhook_by_id

Delete a webhook subscription permanently in Virtuous. Events are dropped immediately and not queued for later delivery. Returns an empty 204 response on success. Required: id.

get_single_virtuous_webhook_by_id

Get a single webhook subscription by id in Virtuous. Returns the subscription including id, payloadUrl, secret, active, and all event subscription flags (contactCreate, contactUpdate, giftCreate, giftUpdate, giftDelete, projectCreate, projectUpdate, projectDelete, formSubmission, contactNoteCreate, contactNoteUpdate, contactNoteDelete, eventCreate, eventUpdate, eventDelete). Required: id.

update_a_virtuous_webhook_by_id

Update a webhook subscription in Virtuous — change the payload URL, rotate the secret, or modify event selections. Returns the updated subscription including id, payloadUrl, secret, active, and all event subscription flags (contactCreate, contactUpdate, giftCreate, giftUpdate, giftDelete, projectCreate, projectUpdate, projectDelete, formSubmission, contactNoteCreate, contactNoteUpdate,…. Required: id, payloadUrl.

list_all_virtuous_campaign_query_options

List the available query options for Campaign queries in Virtuous. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

get_single_virtuous_campaign_get_steps_by_campaign_id_by_id

Get the list of steps associated with a specific Virtuous campaign by id. Returns an array of step name strings. Required: id.

get_single_virtuous_communication_by_campaign_by_id

Get Campaign Communications. Returns: list, total. Required: id.

list_all_virtuous_communication_query_options

List available query options for Communication searches in Virtuous. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_contact_finds

Find a contact in Virtuous by email address or by reference source and ID. Returns the full contact object including id, name, contactType, contactIndividuals, address, customFields, and giving summaries. Either email or both referenceSource and referenceId must be provided; providing both prioritizes the reference source and ID.

get_single_virtuous_contact_by_reference_by_id

Get a contact in Virtuous by external reference ID. Returns the full abbreviated contact object including id, contactType, name, informalName, website, address, contactIndividuals, contactReferences, tags, and customFields. Required: id.

create_a_virtuous_contact_batch

Create a batch of unmatched contacts in Virtuous by providing a reference source and an array of contact records with individual, address, email, phone, event, and volunteer details. Returns an empty 200 response on success.

create_a_virtuous_contact_transaction

Post Contact Transaction.

update_a_virtuous_contact_archive_by_id

Archive a Contact in Virtuous by id. Accepts a JSON request body whose schema is not publicly documented in the discovered source. Returns an empty 204 response on success. Required: id.

update_a_virtuous_contact_unarchive_by_id

Unarchive a contact in Virtuous, restoring it from an archived state. Returns an empty 204 response on success. Required: id.

list_all_virtuous_contact_prefixes

List contact prefixes in Virtuous. Returns an array of string prefix values.

list_all_virtuous_contact_types

List contact types in Virtuous. Default types include Household, Organization, and Foundation, and are configurable via CRM. Returns: parentType, type, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

get_single_virtuous_contact_by_tag_by_id

Get contacts associated with a specific tag in Virtuous. Returns a paged list of contact items including id, name, contactType, contactName, address, email, phone, and contactViewUrl. Required: id.

update_a_virtuous_contact_toggle_follow_by_id

Toggle follow or unfollow status for a contact for the current user in Virtuous. Returns a 200 OK response with no body on success. Required: id.

list_all_virtuous_contact_activities

List contact activities in Virtuous. Returns: contactId, contactName, activity, contactViewUrl. This endpoint is deprecated.

create_a_virtuous_contact_activity

Create a new contact activity in Virtuous. Returns: activity. Required: contactId, type.

list_all_virtuous_contact_followings

List contacts the current user is following in Virtuous. Returns: id, name, contactType, contactName, address, email, phone, contactViewUrl.

create_a_virtuous_contact_proximity

Search for Virtuous contacts within a given distance of a geographic coordinate. Returns an array of matching contacts, each with id, name, address, lifeToDateGiving, contactViewUrl, latitude, and longitude. Required: latitude, longitude, distanceInMiles.

list_all_virtuous_contact_custom_fields

List all enabled custom fields available for the Contact object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_contact_custom_collections

List custom collections available for contacts in Virtuous. Returns: id, entityType, name, isEnabled, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, fields, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

create_a_virtuous_collection

Create a custom collection instance for a contact in Virtuous. Returns the created collection instance including customCollectionId, customCollectionName, collectionInstanceId, and fields. Required: contact_id, custom_collection_id.

update_a_virtuous_collection_by_id

Update an existing custom collection instance for a contact in Virtuous. Returns the updated collection instance including customCollectionId, customCollectionName, collectionInstanceId, and fields. Required: id, contact_id.

delete_a_virtuous_collection_by_id

Delete a custom collection instance from a contact in Virtuous. Returns an empty 200 response on success. Required: id, contact_id.

list_all_virtuous_contact_query_options

List available query options for contacts in Virtuous. Returns the parameters, operators, and predefined value options that can be used to build contact queries, including options (parameter, type, operatorOptions, valueOptions) and global operatorOptions (operator, multipleValuesAllowed, valueRequired).

get_single_virtuous_contact_receipt_by_id

Get a single contact receipt in Virtuous by id. Returns the full receipt including id, contactId, giftType, amount, giftDate, receiptDate, giftDesignations, giftPremiums, pledgePayments, recurringGiftPayments, and customFields. Required: id.

list_all_virtuous_contact_activity_by_user_follows

List contact activity for contacts the current Virtuous user follows. Returns: contactId, contactName, activity, contactViewUrl.

get_single_virtuous_contact_addrese_by_id

Get a single contact address in Virtuous by id. Returns the contact address object including id, label, address1, address2, city, state, postal, country, isPrimary, canBePrimary, and createDateTimeUtc. Required: id.

update_a_virtuous_contact_addrese_by_id

Update a contact address in Virtuous by id. Excluding a property removes its value; the full model should be provided. Returns the updated contact address including id, label, address1, address2, city, state, postal, country, isPrimary, canBePrimary, and createDateTimeUtc. Required: id, label.

delete_a_virtuous_contact_addrese_by_id

Delete a contact address in Virtuous by id. Returns an empty 204 response on success. Required: id.

create_a_virtuous_contact_addrese

Create a new contact address in Virtuous. Returns the created address including id, label, address1, address2, city, state, postal, country, isPrimary, canBePrimary, createDateTimeUtc, and modifiedDateTimeUtc. Required: label, contactId.

get_single_virtuous_contact_address_by_contact_by_id

Get all contact addresses for a specific contact in Virtuous by contact id. Returns an array of address objects including id, label, address1, address2, city, state, postal, country, isPrimary, canBePrimary, startMonth, startDay, endMonth, endDay, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, and modifiedByUser. Required: id.

update_a_virtuous_contact_address_archive_by_id

Archive a contact address in Virtuous by id. Returns an empty 200 response on success. Required: id.

update_a_virtuous_contact_address_unarchive_by_id

Unarchive a contact address in Virtuous by id. The upstream endpoint returns 200 OK with no response body. Required: id.

list_all_virtuous_contact_individual_finds

Find a Virtuous contact individual by email address. Returns the matched individual's id, contactId, firstName, lastName, gender, contactMethods, customFields, and customCollections.

get_single_virtuous_contact_individual_by_contact_by_id

Get all contact individuals associated with a specific contact in Virtuous. Returns an array of contact individual records including id, contactId, firstName, lastName, gender, isPrimary, birthDate, contactMethods, customFields, and customCollections. Required: id.

get_single_virtuous_avatar_by_id

Get the avatar for a contact individual in Virtuous. Returns the full contact individual object including id, firstName, lastName, avatarUrl, contactMethods, and customFields. Required: id.

create_a_virtuous_avatar

Upload the avatar for a contact individual in Virtuous. Returns the updated contact individual object including id, firstName, lastName, avatarUrl, contactMethods, and customFields. Required: contact_individual_id.

get_single_virtuous_email_list_by_id

Get a single email list in Virtuous by id. Returns: name, total, id. Required: id.

create_a_virtuous_email_list

Create a new email list in Virtuous. Returns an empty 202 Accepted response on success. Required: emailListIds, contactIndividualIds.

virtuous_email_lists_search

Search Virtuous email lists that match the given search string. Returns: list, total.

virtuous_email_lists_list_by_contact_individual

List email lists for a contact individual in Virtuous. Returns: id, name, isSubscribed, unsubscribeReason, unsubscribeType, unsubscribeDateTimeUtc, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser. Required: contact_individual_id.

list_all_virtuous_contact_individual_custom_fields

List all enabled custom fields available for the Contact Individual object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_contact_individual_custom_collections

List the custom collection definitions available for individual contacts in Virtuous. Returns each collection with id, entityType, name, isEnabled, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, and its fields (dataType, formatter, name, displayName, required, rank, options).

list_all_virtuous_contact_individual_query_options

List query options for contact individuals in Virtuous, including available filter parameters, their data types, applicable operators, and predefined value options. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_contact_method_types

List contact method types available in Virtuous. Returns an array of contact method type strings.

list_all_virtuous_contact_method_related_types

List contact method types related to a given base type in Virtuous. Returns an array of related contact method type strings filtered by the supplied base type name.

get_single_virtuous_contact_method_by_id

Get a single contact method in Virtuous by id. Returns: id, type, value. Required: id.

update_a_virtuous_contact_method_by_id

Update a contact method in Virtuous by id. Excluding a property from the body removes its value. Returns: id, type, value. Required: id, type, value.

delete_a_virtuous_contact_method_by_id

Delete a contact method in Virtuous by id. Returns an empty 204 response on success. Required: id.

create_a_virtuous_contact_method

Create a new contact method in Virtuous. Returns the created contact method including id, type, value, isOptedIn, isPrimary, canBePrimary, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser. Required: type, value, contactIndividualId.

update_a_virtuous_contact_method_archive_by_id

Archive a contact method in Virtuous by its contact method identifier. Returns an empty 200 response on success with no response body. Required: id.

update_a_virtuous_contact_method_unarchive_by_id

Unarchive a contact method in Virtuous, restoring it from archived state. Returns an empty 200 response with no body on success. Required: id.

get_single_virtuous_important_by_contact_by_id

Get important contact notes for a specific contact in Virtuous. Returns a paged list of notes including id, contactId, noteDate, type, note, important, isPrivate, and a total count. Required: id.

list_all_virtuous_contact_note_types

List contact note types in Virtuous. Returns a map of contact note type keys to their string values. No required parameters.

list_all_virtuous_contact_note_custom_fields

List all enabled custom fields available for the Contact Note object in Virtuous. Returns each custom field definition including dataType, name, displayName, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, and modifiedByUser.

create_a_virtuous_contact_note_email

Create a contact note in Virtuous from an email message. Returns an array of contact note objects including id, contactId, note, type, important, isPrivate, noteDate, createdByUser, and a nested reminder object.

create_a_virtuous_contact_reference

Create a contact reference in Virtuous that links a contact to an external reference source. Returns an empty 200 response on success.

virtuous_contact_references_bulk_delete

Delete a contact reference in Virtuous by reference source and reference identifier. Returns an opaque object body on success. Required: reference_source.

get_single_virtuous_contact_tag_by_contact_by_id

Get all tags assigned to a specific contact in Virtuous. Returns: list, total. Required: id.

create_a_virtuous_contact_tag

Create a contact tag in Virtuous by assigning a tag to a contact. Returns: contactTagId, tagId, name, total, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, contactsByTagUrl.

delete_a_virtuous_contact_tag_by_id

Delete a contact tag in Virtuous by id. Returns an empty 200 response on success. Required: id.

get_single_virtuous_custom_field_by_id

Get a single custom field in Virtuous by id (customFieldId). Returns the custom field including dataType, name, displayName, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, and modifiedByUser. Required: id.

virtuous_custom_fields_search

Search custom fields in Virtuous by submitting a search query in the request body. Returns a paged list (list) with a total count, where each custom field includes dataType, name, displayName, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, and modifiedByUser.

list_all_virtuous_custom_field_names

Get a custom field definition in Virtuous by its name. Returns: name. Required: custom_field_name.

get_single_virtuous_custom_collection_by_id

Get a single custom collection in Virtuous by id. Returns: id, name. Required: id.

virtuous_custom_collections_search

Search custom collections in Virtuous by submitting search criteria. Returns: list, total. Each item in the list contains id, entityType, name, and fields with their data types and options.

list_all_virtuous_custom_collection_names

Get a Virtuous custom collection by its name. Returns the custom collection object including its id, entityType, name, field definitions, and audit timestamps (createDateTimeUtc, modifiedDateTimeUtc). Required: custom_collection_name.

virtuous_emails_search

Search emails in Virtuous using a search term provided in the request body. Returns a paged list of matching email records. Returns: list, total. Each record includes id, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, and modifiedByUser.

create_a_virtuous_email_send

Send an email in Virtuous via the Email Send endpoint. Accepts a JSON request body following the SendEmailRequestBindingModel schema; the model's field definitions are referenced but not inlined in the crawled API docs. Returns an empty 200 response on success. Required: emailId, contactIds.

create_a_virtuous_email_sent

Search for sent email batches in Virtuous by keyword. Returns: list, total.

list_all_virtuous_activity_query_options

List Email Activity query options in Virtuous, describing the parameters, operators, and value choices available for filtering email activity queries. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires. No required parameters.

create_a_virtuous_email_activity

Query email activities in Virtuous using a structured QueryRequest body with filter groups, sort, and conditions. Returns: list, total. The emailVersionId query parameter scopes results to a specific email version.

create_a_virtuous_subscription

Add or update contact individual subscriptions on an email list in Virtuous. Returns a 202 Accepted response with no body on success. Required: email_list_id.

list_all_virtuous_search_events

Search events in Virtuous using an optional filter string. Returns an array of event objects including id, name, location, startDateTime, endDateTime, and timeZone.

list_all_virtuous_event_types

List event types in Virtuous. Returns each event type record with parentType and type. Results may be sorted by a specified field in ascending or descending order.

list_all_virtuous_event_custom_fields

List all enabled custom fields available for the Event object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_event_query_options

Get the available query options for filtering Events in Virtuous. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_attendees

List event attendees for a Virtuous event. Returns: list, total. Required: event_id.

create_a_virtuous_attendee

Create a new event attendee in Virtuous with RSVP, invitation, and seating details. Returns the created attendee including id, invitee, contactId, rsvp, attended, emailAddress, event, and customFields. Required: event_id, contactIndividualId.

get_single_virtuous_attendee_by_id

Get a single event attendee by id in Virtuous. Returns: id, invitee, event, location, rsvp, attended, invited, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: id, event_id.

list_all_virtuous_event_attendee_custom_fields

List all enabled custom fields available for the Event Attendee object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

create_a_virtuous_event_attendee_query

Search event attendees in Virtuous using filter groups, conditions, geo-location bounds, and sorting. Returns a paged list of attendees, each with id, invitee, contactId, eventId, rsvp, attended, and customFields.

list_all_virtuous_event_attendee_query_options

Get the available query filter options for Event Attendee queries in Virtuous. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires. No required parameters.

list_all_virtuous_invitations

List invitations for a specific Virtuous event. Returns: list, total. This endpoint is marked as deprecated upstream. Required: event_id.

create_a_virtuous_invitation

Create a new event invitation in Virtuous for a specific event. Returns the created invitation including id, contactId, invitee, rsvp, attended, emailAddress, and createDateTimeUtc. This endpoint is deprecated. Required: event_id, contactIndividualId.

update_a_virtuous_invitation_by_id

Update an event invitation in Virtuous. Returns the updated invitation including id, invitee, contactId, eventId, rsvp, attended, and customFields. This endpoint is deprecated. Required: id, event_id.

delete_a_virtuous_invitation_by_id

Delete an event invitation in Virtuous by id. Returns an empty 204 response on success. Required: id, event_id.

get_single_virtuous_invitation_by_id

Get a single event invitation in Virtuous by id. Returns: id, invitee, event, location, rsvp, attended, invited, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. This endpoint is deprecated. Required: id, event_id.

list_all_virtuous_event_invitation_custom_fields

List all enabled custom fields available for the Event Invitation object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires. This endpoint is deprecated.

list_all_virtuous_event_invitation_query_options

List available query filter options for event invitations in Virtuous. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires. This endpoint is deprecated.

list_all_virtuous_gift_non_cash_gift_types

List non-cash gift types available in Virtuous. Returns: list, total. Supports optional sortBy and descending parameters for ordering results.

create_a_virtuous_gift_reversing_transaction

Create a reversing transaction in Virtuous that negates the amount and splits applied to an existing gift. Returns the full gift object including id, contactId, giftType, amount, giftDesignations, giftPremiums, and customFields.

get_single_virtuous_gift_by_reference_by_id

Get a paginated list of gifts with designations associated with a contact reference id in Virtuous. Returns: list, total. Required: id.

create_a_virtuous_gift_transaction

Create a new gift transaction in Virtuous. Returns the created gift transaction object including id, contactId, giftType, giftDate, amount, currencyCode, giftDesignations, giftPremiums, and customFields. This endpoint is deprecated.

list_all_virtuous_gift_custom_fields

List all enabled custom fields available for the Gift object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

get_single_virtuous_gift_by_contact_by_id

Get gifts for a specific contact in Virtuous. Returns a paged list of gift items including id, contactName, giftType, giftDate, amount, currencyCode, giftDesignations, giftPremiums, pledgePayments, recurringGiftPayments, and customFields. Required: id.

get_single_virtuous_passthrough_by_contact_by_id

Get passthrough gifts for a specific contact in Virtuous. Returns a paged list of gift records including id, contactId, giftDate, amount, giftType, giftDesignations, giftPremiums, and customFields. Required: id.

list_all_virtuous_gift_query_options

List gift query options in Virtuous for building filtered gift queries. Returns the available query options (each with parameter, type, operatorOptions, and valueOptions) and global operatorOptions. No required parameters.

list_all_virtuous_gift_ask_status

List all available Gift Ask statuses in Virtuous. Returns an array of gift ask status objects representing the status options that can be assigned to a Gift Ask record.

get_single_virtuous_gift_ask_by_contact_by_id

Get gift asks for a specific contact in Virtuous by contact id. Returns a paged list of gift ask records including id, contactId, askAmount, askDate, askType, frequency, declined, status, and customFields. Required: id.

list_all_virtuous_gift_ask_custom_fields

List all enabled custom fields available for the Gift Ask object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_gift_ask_query_options

Get Gift Ask query options in Virtuous, describing the available filter parameters, their types, supported operators, and predefined value options for building Gift Ask queries. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_gift_designation_query_options

List the available query options for gift designations in Virtuous, describing the parameters, operators, and value choices that can be used to filter gift designation queries. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires. No required parameters.

get_single_virtuous_grant_by_reference_by_id

Get a single Virtuous grant by its reference id. Returns the full grant object including id, contactId, contactName, giftType, giftDate, amount, currencyCode, giftDesignations, giftPremiums, pledgePayments, recurringGiftPayments, and customFields. Required: id.

get_single_virtuous_grant_by_contact_by_id

Get a paged list of grants associated with a contact in Virtuous. Returns each grant with id, contactId, giftType, giftDate, amount, grantId, giftDesignations, giftPremiums, pledgePayments, recurringGiftPayments, and customFields. Required: id.

list_all_virtuous_grant_custom_fields

List all enabled custom fields available for the Grant object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_grant_query_options

Get grant query options in Virtuous, describing the available filter parameters, operators, and value options for querying grants. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

get_single_virtuous_organization_group_by_contact_by_id

Get all organization groups associated with a specific contact in Virtuous. Returns an array of organization group binding objects including parentType and type. Required: id.

get_single_virtuous_planned_gift_by_contact_by_id

Get all planned gifts for a specific contact in Virtuous. Returns a paged response with list and total, where each record includes id, plannedGiftDate, frequency, anticipatedAmount, currentValue, projectId, segment, and customFields. Required: id.

list_all_virtuous_planned_gift_custom_fields

List all enabled custom fields available for the Planned Gift object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_planned_gift_query_options

List the available query options for planned gift searches in Virtuous. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

get_single_virtuous_pledge_by_contact_by_id

Get pledges for a contact in Virtuous by contact id. Returns a paged list of pledge records including id, contactId, giftType, amount, pledgePayments, giftDesignations, and customFields. This endpoint is deprecated. Required: id.

update_a_virtuous_pledge_cancel_by_id

Cancel a pledge in Virtuous by id. Returns the cancelled pledge object including id, contactId, amountPledged, frequency, status, payments, and customFields. This endpoint is deprecated. Required: id.

create_a_virtuous_pledge_query

Search pledges in Virtuous by submitting filter groups with conditions. Returns a paginated result with list and total, where each pledge item includes id, contactId, contactName, giftType, amount, giftDate, and customFields. This endpoint is deprecated; use the v2 Pledge Query endpoint instead.

list_all_virtuous_pledge_query_options

List pledge query options in Virtuous. Returns available filter parameters, their types, applicable operators, and predefined value options for building pledge queries. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires. This endpoint is deprecated; prefer the v2 equivalent.

get_single_virtuous_pledge_payment_by_id

Get a pledge payment in Virtuous by pledge ID. Returns: id, gift. This endpoint is deprecated. Required: id.

update_a_virtuous_pledge_write_off_by_id

Write off a Virtuous pledge by supplying a reason. Returns the updated pledge including id, contactId, amountPledged, frequency, pledgeDate, expectedFulfillmentDate, segment, project, status, payments, and customFields. The reason field has a maximum length of 100 characters. Required: id, reason.

list_all_virtuous_pledge_custom_fields

List all enabled custom fields available for the Pledge object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

update_a_virtuous_premium_increment_by_id

Increment the inventory count of a Virtuous premium by the specified incrementor value. Returns the updated premium object including id, name, code, description, price, fairMarketValue, cost, inventoryCount, isActive, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, and customFields. The incrementor parameter defaults to 1. Required: id.

update_a_virtuous_premium_decrement_by_id

Decrement the inventory count of a Virtuous premium by a specified amount. Returns the updated premium object including id, name, code, description, price, fairMarketValue, cost, inventoryCount, isActive, createDateTimeUtc, modifiedDateTimeUtc, and customFields. The decrementor query parameter defaults to -1. Required: id.

list_all_virtuous_premium_custom_fields

List all enabled custom fields available for the Premium object in Virtuous. Returns each field's dataType, name, displayName, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, and modifiedByUser.

create_a_virtuous_premium_query

Query premiums in Virtuous using filter groups with conditions, sort options, and optional geographic location criteria. Returns a paged list of premium records including id, name, code, price, fairMarketValue, isActive, and customFields.

list_all_virtuous_premium_query_options

List query options for premiums in Virtuous, describing available filter parameters, their data types, applicable operators, and predefined value choices. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

get_single_virtuous_project_code_by_id

Get a project in Virtuous by its project code. Returns: id, name, description, type, location. Required: id.

virtuous_balances_bulk_update

Update the balance for a Virtuous project. Returns the updated project object including id, projectCode, and projectType. Required: project_id.

virtuous_status_bulk_update

Update the inventory status of a Virtuous project by project_id. Accepts an optional inventoryStatus value and a durationMinutes window. Returns an empty 200 response on success. Required: project_id.

list_all_virtuous_project_types

List project types in Virtuous. Returns an array of project type name strings.

list_all_virtuous_project_query_options

List the available query filter options for Virtuous projects, including filterable parameters, their data types, applicable operators, and predefined value choices. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_project_custom_fields

List all enabled custom fields available for the Project object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_project_alls

List all projects in Virtuous with optional filtering by project type, inventory status, or sub-projects only. Returns: id, name, revenueAccountingCode, projectCode, externalAccountingCode, onlineDisplayName, description, photoUrl, parentId, parentName, isSubProject, inventoryStatus, projectType, type, location, isRestrictedToGiftSpecifications, isLimitedToFinancialNeed, isPublic, isActive,…

list_all_virtuous_project_tops

Search Top Projects. Returns: id, name, revenueAccountingCode, projectCode, externalAccountingCode, onlineDisplayName, description, photoUrl.

list_all_virtuous_sub_projects

List sub-projects for a specific Virtuous project. Returns: list, total. This endpoint is deprecated. Required: project_id.

list_all_virtuous_project_expenses

List project expenses in Virtuous, optionally filtered by project ID, project code, or a free-form filter string. Returns: id, projectId, projectName, projectCode, parentProjectId, parentProjectName, parentProjectCode, expenseAmount, expenseDate, accountingCode, expenseDescription, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser. All parameters are optional; the default…

create_a_virtuous_project_expense

Create a new project expense in Virtuous. Returns the created project expense including id, contactId, giftDate, amount, currencyCode, giftDesignations, and customFields. A JSON request body conforming to the ProjectExpensePostBindingModel schema is required.

get_single_virtuous_project_expense_by_id

Get a single project expense in Virtuous by id. Returns the full project expense object including id, contactId, amount, giftType, giftDate, currencyCode, giftDesignations, customFields, and isPrivate. Required: id.

update_a_virtuous_project_expense_by_id

Update a project expense in Virtuous by id. Returns the updated project expense object including id, contactId, amount, giftType, giftDate, currencyCode, giftDesignations, customFields, and isPrivate. Required: id.

create_a_virtuous_project_expense_batch

Post Project Expense Batch.

get_single_virtuous_project_note_by_project_by_id

Get Project Notes. Returns: list, total. Required: id.

get_single_virtuous_project_note_by_id

Get a single project note by id in Virtuous. Returns the note object including id, contactId, type, note, noteDate, important, isPrivate, createDateTimeUtc, createdByUser, and a nested reminder object. Required: id.

update_a_virtuous_project_note_by_id

Update a project note by id in Virtuous. Excluding a property removes its value from the object. Returns the updated note including id, contactId, type, note, noteDate, important, isPrivate, createDateTimeUtc, createdByUser, and a nested reminder object. Required: id, type, note.

delete_a_virtuous_project_note_by_id

Delete a project note in Virtuous by id. Returns an empty 204 response on success. Required: id.

create_a_virtuous_project_note

Create a project note in Virtuous. Returns the created note including id, contactId, type, note, noteDate, important, isPrivate, createDateTimeUtc, createdByUser, and a nested reminder object. Required: type, note, projectId.

list_all_virtuous_project_note_types

List project note types available in Virtuous. Returns an array of project note type name strings. No required parameters.

get_single_virtuous_project_role_by_id

Get a single project role in Virtuous by id. Returns: id. Required: id.

update_a_virtuous_project_role_by_id

Update an existing project role in Virtuous by id. Returns: id. Required: id.

delete_a_virtuous_project_role_by_id

Delete a project role in Virtuous by id. Returns an empty 204 response on success. Required: id.

create_a_virtuous_project_role

Create a new project role in Virtuous. Returns: id.

list_all_virtuous_project_role_types

List project role types in Virtuous. Returns a paged collection with list and total, where each item includes parentType and type. Results can optionally be sorted by a specified field in ascending or descending order.

get_single_virtuous_project_role_by_contact_by_id

Get Project Roles By Contact. Returns: list, total. Required: id.

get_single_virtuous_project_role_by_project_by_id

List project roles for a specific project in Virtuous. Returns a paged collection with list and total. Required: id.

get_single_virtuous_recurring_gift_by_contact_by_id

Get recurring gifts for a specific contact in Virtuous by contact id. Returns: list, total. Required: id.

update_a_virtuous_recurring_gift_cancel_by_id

Cancel a recurring gift in Virtuous by id. Returns the updated recurring gift object including id, contactId, giftType, amount, giftDate, giftDesignations, recurringGiftPayments, and customFields. Required: id.

list_all_virtuous_recurring_gift_custom_fields

List all enabled custom fields available for RecurringGift objects in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_recurring_gift_query_options

Get the available query options for filtering recurring gifts in Virtuous. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

get_single_virtuous_recurring_gift_payment_by_id

Get a single recurring gift payment in Virtuous by id. Returns: id, gift. Required: id.

get_single_virtuous_relationship_by_contact_by_id

Get relationships for a specific contact in Virtuous by contact id. Returns a paged list of relationship records including id, contactId, contact, relatedContactId, relatedContact, relationshipType, notes, and relatedContactViewUrl. Required: id.

list_all_virtuous_relationship_types

List relationship types in Virtuous. Returns: group, relationship, inverseRelationship, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

create_a_virtuous_relationship

Create a new relationship between two contacts in Virtuous. Returns the created relationship object including id, contactId, contact, relatedContactId, relatedContact, relationshipType, notes, and relatedContactViewUrl. Required: contactId, relationshipType.

update_a_virtuous_relationship_by_id

Update an existing relationship in Virtuous by id. Excluding a property from the body removes its value from the object. Returns the updated relationship including id, contactId, contact, relatedContactId, relatedContact, relationshipType, notes, and relatedContactViewUrl. Required: id, relationshipType.

delete_a_virtuous_relationship_by_id

Delete a relationship in Virtuous by id. Returns an empty 200 response on success. Required: id.

list_all_virtuous_reminder_actives

List active reminders in Virtuous with optional search, sort, and ordering filters. Returns each reminder with id, message, targetDate, contactId, contactDisplayName, reminderType, taskStatus, isPastDue, isUnresolved, canComplete, owner, and ownerAvatarUrl. No required parameters.

list_all_virtuous_reminder_saveds

List saved reminder sources in Virtuous. Returns a paged collection of reminder source records (recurring and milestone reminder templates), each with an id and reminder source binding model attributes. Defaults to 10 records per page.

get_single_virtuous_active_by_id

Get active reminders for a specific contact in Virtuous. Returns a paged list of reminders (list) with a total count (total). Required: id.

get_single_virtuous_inactive_by_id

Get inactive reminders for a contact in Virtuous by contact id. Returns a paged list (list) with a total count, where each reminder includes id, message, targetDate, contactId, reminderType, taskStatus, and owner. Required: id.

get_single_virtuous_reminder_by_contact_by_id

Get all reminders for a specific contact in Virtuous by contact id. Returns a paged list of reminder records including id, message, targetDate, reminderType, taskStatus, owner, and contact display details, plus a total count. Required: id.

update_a_virtuous_reminder_completed_by_id

Mark a Virtuous reminder as completed by id. Returns the updated reminder object including id, message, targetDate, taskStatus, contactId, reminderType, and owner. Required: id.

update_a_virtuous_reminder_dismissed_by_id

Dismiss a Virtuous reminder by id, marking it as dismissed. Returns the reminder object including id, message, targetDate, taskStatus, reminderType, contactDisplayName, and owner. Required: id.

create_a_virtuous_reminder

Create a new reminder in Virtuous by submitting a request body conforming to the ReminderPostBindingModel. Returns the created reminder object including id, message, targetDate, contactId, reminderType, taskStatus, and owner. Required: message.

create_a_virtuous_saved_recurring

Create a saved recurring reminder source in Virtuous. Returns the created reminder source object including id, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, and modifiedByUser. Required: message.

update_a_virtuous_saved_recurring_by_id

Update a saved recurring reminder source in Virtuous by id. Returns the updated reminder source object including id, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, and modifiedByUser. Excluding a property in the request body removes its value; the full model is required even for single-property updates. Required: id, message.

create_a_virtuous_saved_milestone

Create a saved milestone reminder in Virtuous. A milestone reminder automatically generates reminders when contacts reach the configured milestoneType and threshold (e.g. a giving total or gift count); isFollowedContactsOnly limits it to contacts the owner follows and ownerEmail assigns the owner. Returns the saved reminder including id, name, reminderSourceType, milestoneType, threshold, description, reminderFrequency, and any generated reminders (id, message, targetDate, contactId, contactDisplayName, taskStatus, isPastDue). Required: name.

update_a_virtuous_saved_milestone_by_id

Update a saved milestone reminder in Virtuous by id. Send the full model (taskType, name, description, threshold, isFollowedContactsOnly): excluding a property clears its value. Returns the updated saved reminder including id, name, reminderSourceType, milestoneType, threshold, description, reminderFrequency, and its reminders. Required: id, name.

list_all_virtuous_type_reminders

List available reminder types in Virtuous. Returns a dictionary of reminder type enum values as key-value string pairs.

list_all_virtuous_type_resolutions

List reminder resolution types in Virtuous. Returns a dictionary mapping resolution type identifiers to their string display values. This endpoint is deprecated.

list_all_virtuous_type_status

List reminder status types in Virtuous. Returns a dynamic key-value map of status identifiers to their display labels. This endpoint is deprecated.

list_all_virtuous_type_reminder_sources

List reminder source types in Virtuous. Returns a map of source type identifiers to source type names, where all values are strings.

list_all_virtuous_type_milestones

List milestone reminder types in Virtuous. Returns a map (object) whose keys are milestone type identifiers and whose values are their corresponding string display names.

list_all_virtuous_type_reminder_frequencies

List reminder frequency types available in Virtuous. Returns a dynamic map of frequency type identifiers (keys) to their display-name strings (values). No required parameters.

create_a_virtuous_search

Search across Virtuous CRM records using a quick search query. Returns: contacts, individuals, entities. Required: query, filterTypes.

get_single_virtuous_segment_code_by_id

Get Segment By Code. Returns: id, name, description, code, projectId, projectName, communicationId, communicationName. Required: id.

get_single_virtuous_segment_by_contact_by_id

Get Segments By Contact. Returns: list, total. Required: id.

create_a_virtuous_segment_query

Query segments in Virtuous. Filters are groups of conditions (parameter, operator, value; optional secondaryValue/values), combined with a conjunct (0 = And, 1 = Or), plus sortBy, descending and includeArchived. Use segment_query_options.list to discover the available filter parameters and operators. Paginated with skip/take (max take 1,000). Returns a list of segments with id, name, description, code, projectId, projectName, communicationId, communicationName, campaignId, campaignName, segmentOrganizerId, packageCode, packageDescription, totalContacts, costPerContact, totalGiftAmount, totalGifts, plus total.

list_all_virtuous_segment_query_options

List available query options for Virtuous segments, including filterable parameters, supported operators, and predefined value choices. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_task_types

List task types available in Virtuous. Returns an array of task type name strings.

create_a_virtuous_task_query

Search tasks in Virtuous by submitting query conditions in the request body. Returns: list, total. Available filter parameters and operators can be discovered via the Task Query Options endpoint. Max take is 1000.

list_all_virtuous_task_query_options

List available query filter options for Tasks in Virtuous. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires. No required parameters.

list_all_virtuous_tests

Test connectivity to the Virtuous API by issuing a GET request to the Test endpoint. Returns an empty 200 response on success, confirming that authentication and API access are working correctly.

list_all_virtuous_test_users

List test users in Virtuous. Returns a 200 OK response; this is a test endpoint for verifying API connectivity and no response body fields are documented in the API specification.

list_all_virtuous_test_application_keys

Test the validity of an application API key in Virtuous. Returns a 200 OK response with no documented response body, confirming the key is accepted.

list_all_virtuous_test_hmac_keys

Test HMAC key authentication in Virtuous by calling the TestHMACKey endpoint. Verifies that HMAC authentication credentials are valid and the API is reachable. Returns a 200 OK response with no body on success.

list_all_virtuous_search_tributes

Search for tributes in Virtuous by first name, last name, city, state, or tribute type. Returns: id, tributeType, firstName, lastName, address1, address2, city, state, postalCode, defaultAcknowledgeeIndividualId, defaultAcknowledgeeIndividualUrl, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser. All filters are optional.

list_all_virtuous_volunteer_query_options

List available query filter options for volunteers in Virtuous. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_attendances

List volunteer attendance records for a specific volunteer within a volunteer opportunity in Virtuous. Returns: id, hours. Required: volunteer_id, volunteer_opportunity_id.

create_a_virtuous_attendance

Create a new volunteer attendance record in Virtuous for a specific volunteer within a volunteer opportunity. Returns: id, hours. Required: volunteer_opportunity_id, volunteer_id, timeZone.

update_a_virtuous_attendance_by_id

Update an existing volunteer attendance record in Virtuous by id. Returns: id, hours. Required: id, volunteer_opportunity_id, timeZone.

delete_a_virtuous_attendance_by_id

Delete a volunteer attendance record in Virtuous by id. Returns an empty 200 response on success. Required: id, volunteer_opportunity_id.

get_single_virtuous_attendance_by_id

Get a single volunteer attendance record in Virtuous by id. Returns: id, hours, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: id, volunteer_opportunity_id.

update_a_virtuous_volunteer_opportunity_archive_by_id

Archive a volunteer opportunity in Virtuous by id. An optional archiveReason may be supplied in the request body. Returns an empty 204 response on success. Required: id.

update_a_virtuous_volunteer_opportunity_unarchive_by_id

Unarchive a volunteer opportunity in Virtuous by id. Returns an empty 204 response on success. Required: id.

list_all_virtuous_volunteer_opportunity_custom_fields

List all enabled custom fields available for the Volunteer Opportunity object in Virtuous. Returns: id, dataType, entityType, formatter, name, displayName, isEnabled, options, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_volunteer_opportunity_query_options

List volunteer opportunity query options in Virtuous, describing the available filter parameters, their types, valid operators, and predefined value options. Returns: options, operatorOptions, access_token, token_type, expires_in, refresh_token, userName, twoFactorEnabled, .issued, .expires.

list_all_virtuous_organizers

List organizers for a volunteer opportunity in Virtuous. Returns: id, parentType, type. Required: volunteer_opportunity_id.

create_a_virtuous_organizer

Create a new organizer for a volunteer opportunity in Virtuous. Returns the created organizer object including id, parentType, and type. Required: volunteer_opportunity_id, contactIndividualId.

delete_a_virtuous_organizer_by_id

Delete a volunteer organizer from a volunteer opportunity in Virtuous. Returns an empty 200 response on success. Required: id, volunteer_opportunity_id.

get_single_virtuous_organizer_by_id

Get a single volunteer organizer from a volunteer opportunity in Virtuous. Returns the volunteer organizer binding model including its id. Required: id, volunteer_opportunity_id.

list_all_virtuous_event_contacts

Get Event Contacts. Returns: id, eventContactUrl, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, contactId, contactUrl. Required: event_id.

create_a_virtuous_event_contact

Create a new event contact in Virtuous by associating a contact with an event. Returns: id, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: event_id, contactIndividualId.

get_single_virtuous_event_contact_by_id

Get Event Contact By Id. Returns: id, eventContactUrl, createDateTimeUtc, createdByUser, modifiedDateTimeUtc, modifiedByUser, contactId, contactUrl. Required: id, event_id.

delete_a_virtuous_event_contact_by_id

Delete a Virtuous event contact by id. Returns an empty 200 response on success. Required: id, event_id.

list_all_virtuous_organization_group_contacts

List contacts belonging to a specific organization group in Virtuous. Returns: organizationGroupId, organizationGroupUrl, organizationId, organizationName, organizationGroupName, organizationGroupLocation, organizationGroupDescription, contactId, contactName, contactUrl. Required: organization_group_id.

update_a_virtuous_organization_group_contact_by_id

Assign a contact to an organization group in Virtuous. Returns the binding with organizationGroupId, organizationGroupName, contactId, contactName, organizationGroupUrl, and contactUrl. Required: id, organization_group_id.

list_all_virtuous_gift_ask_gifts

List gifts applied to a specific Gift Ask in Virtuous. Returns an array of full gift objects including id, contactId, giftType, giftDate, amount, currencyCode, giftDesignations, giftPremiums, pledgePayments, recurringGiftPayments, and customFields. Required: gift_ask_id.

list_all_virtuous_grant_gifts

List gifts applied to a specific grant in Virtuous. Returns each gift's id, giftType, amount, giftDate, contactName, grantId, giftDesignations, isPrivate, isTaxDeductible, and customFields. Required: grant_id.

list_all_virtuous_planned_gift_gifts

List gifts applied to a planned gift in Virtuous. Returns an array of gift objects including id, transactionSource, contactId, giftType, giftDate, amount, currencyCode, giftDesignations, isPrivate, isTaxDeductible, and customFields. Required: planned_gift_id.

get_single_virtuous_pledge_v_2_by_id

Get a single Virtuous pledge by id. Returns: id, frequency, segment, project, status, payments, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: id.

create_a_virtuous_pledge_v_2

Create a new pledge in Virtuous. Returns the created pledge including id, contactId, amountPledged, frequency, pledgeDate, expectedFulfillmentDate, status, payments, and customFields. Required: amountPledged, frequency, pledgeDate, expectedFulfillmentDate, contactId.

list_all_virtuous_pledge_v_2

Query pledges in Virtuous using filter groups with conditions, sorting, and descending order. Returns pledge records including id, contactId, amountPledged, frequency, pledgeDate, expectedFulfillmentDate, status, payments, and customFields.

get_single_virtuous_pledge_by_contacts_v_2_by_id

Get a paged list of pledges for a specific contact in Virtuous by contact id. Returns each pledge with id, contactId, amountPledged, frequency, pledgeDate, status, payments, and customFields. Required: id.

list_all_virtuous_pledge_query_options_v_2

List the available query options for pledges in Virtuous, describing each filterable parameter, its type, the operators that apply to it, and any pre-defined value choices. Returns: options, operatorOptions, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Use this metadata to construct filter conditions for the…

create_a_virtuous_contact_individual_collection

Create a custom collection instance for a contact individual in Virtuous. Returns: customCollectionId, customCollectionName, collectionInstanceId, fields, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: contact_individual_id, custom_collection_id.

update_a_virtuous_contact_individual_collection_by_id

Update a custom collection instance for a contact individual in Virtuous. Returns: customCollectionId, customCollectionName, collectionInstanceId, fields, organizationUserId, organizationName, organizationTimeZone, organizationCulture, currentUserTimeZone, isAdministrator, isEnabled. Required: id, contact_individual_id.

delete_a_virtuous_contact_individual_collection_by_id

Delete a collection instance for a contact individual in Virtuous. Returns an empty 200 response on success. Required: id, contact_individual_id.

virtuous_webhook_active_bulk_update

Toggle the active flag on a Virtuous webhook subscription in a single call. Pass the active query parameter as true to enable event delivery or false to pause it. Returns the updated webhook subscription object including id, payloadUrl, secret, active, and all event subscription flags. Required: id.

create_a_virtuous_gift_transactions_v_2

Create a batch of gift transactions in Virtuous. Transactions are placed in a holding state and bundled into imports at midnight based on the transaction source, leveraging Virtuous contact and gift matching algorithms. Returns an empty 200 response on success.

How it works

From Virtuous account to governed MCP endpoint

Connect

Link a Virtuous account through Elaichi's hosted connect flow. Credentials are vaulted, so nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which Virtuous tools are exposed, rename them, or freeze arguments.

Authorize

Point Claude, ChatGPT, Cursor, or any MCP client at the one Elaichi endpoint and sign in with OAuth, governed by roles, restrictions, and audit logs.

Put your agents to work in the tools you already use

Start a 14-day Gold trial. Connect a product, curate a toolbox, and paste a governed MCP endpoint into Claude, ChatGPT, or Cursor in minutes.