Skip to content

Integration · CRM & sales

virtuous.org

Connect Claude & ChatGPT to Virtuous CRM

Ask your AI what a donor has given, which follow-ups are due, or to record a gift in Virtuous CRM. It can search contacts, read gifts, recurring gifts and pledges, and look up projects. It can also add notes, tags and reminders, so donor work gets logged without clicking through records.

Connect Virtuous CRM free

Free plan, no credit card. Takes about a minute.

Try asking

  • “What has the Hansen Family Foundation given us?”

    The AI searches for the contact and lists its gifts with amount, date and type.

  • “Record a 500 USD check from contact 2291 to the Clean Water project.”

    It finds the project and records the gift with donor, date, amount and designation. This only records the gift in Virtuous and does not charge anyone.

  • “Which follow-ups are due?”

    It lists your active reminders so you can see who to contact next.

What your AI can do

Donors and contacts

Search, create and update contacts and the individuals in them, and add addresses, emails and phone numbers.

Gifts and projects

Read and search gifts, see recurring gifts and pledges, record or update gifts, and look up the projects they go to.

Notes, tags and reminders

Add notes and tags to contacts, list active reminders, create new ones and mark them completed.

  • “Remind me to thank Maria Lopez for her pledge next Tuesday.”

    It finds Maria's contact and creates a reminder with a message and a due date.

  • “Add a note that we met the Olsens at the gala, and tag them Major Donor.”

    It adds a note to the contact, finds the tag in your tag list and tags the contact.

  • “Does John Smith have a recurring gift or an open pledge?”

    It reads the contact's recurring gifts and pledges and summarizes them.

290 tools for Virtuous CRM

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • add_contact_addressChanges dataAdd an address to a contact by `contact_id`: `address1`, `city`, `state`, `postal`, `country`, optional `label` and `set_as_primary`.
  • add_contact_methodChanges dataAdd an email or phone to an individual: `contact_individual_id`, `type` (email or phone type), `value`, optional `is_opted_in` and `set_as_primary`.
  • add_contact_tagChanges dataTag a contact: `contact_id` and `tag_id`.
  • complete_reminderChanges dataMark a reminder as completed by `completed_id` (the reminder ID), optionally logging a `note`, `note_type_name` and `time_spent`.
  • create_a_batch_of_gift_transactionsChanges dataCreate a new payment. Required: body. API summary: Create a Batch of Gift Transactions.
  • create_a_gift_transactionChanges dataCreate a new payment. Required: body. API summary: Create a Gift Transaction.
  • create_a_project_noteChanges dataCreate a new message. Search messages first to avoid duplicates. API summary: Create a Project Note.
  • create_a_reversing_transactionChanges dataCreate a new payment. API summary: Create a Reversing Transaction.
  • create_batchVisible to othersCreate a new batch. Has effects visible outside this system. API summary: Create a Contact Import that will be processed for changes and duplicates.
  • create_bulkVisible to othersCreate a new bulk. Required: items. Has effects visible outside this system. API summary: Create many Gifts not recommended.
  • create_communicationChanges dataCreate a new communication. Search communications first to avoid duplicates. API summary: Create Communication.
  • create_contactChanges dataCreate a contact: `contact_type`, `name`, and `contact_individuals` with first and last name and contact methods, plus optional `contact_addresses`. Search first to avoid duplicates.
  • create_contact_individualChanges dataCreate a new contact individual. Search contact individuals first to avoid duplicates. API summary: Create an Individual.
  • create_contact_individual_avatarChanges dataCreate a new avatar for a contact individual. API summary: Upload the avatar for an Individual.
  • create_contact_noteChanges dataAdd a note to a contact: `contact_id`, `note`, `type`, optional `note_date_time`, `important`, `private` and `time_spent`.
  • create_contact_postChanges dataCreate a new contact. Search contacts first to avoid duplicates. API summary: Query Contacts with Full Details.
  • create_contact_referenceChanges dataCreate a new contact reference. API summary: Create a Contact Reference.
  • create_dealChanges dataCreate a new deal. Search deals first to avoid duplicates. API summary: Create a Volunteer Opportunity.
  • create_deal_organizerChanges dataCreate a new organizer for a deal. API summary: Create a Volunteer Organizer.
  • create_deal_volunteerChanges dataCreate a new volunteer for a deal. Search volunteers first to avoid duplicates. API summary: Create a Volunteer.
  • create_eventChanges dataCreate a new event. Search events first to avoid duplicates. API summary: Create an Event.
  • create_event_attendeeChanges dataCreate a new attendee for a event. API summary: Create an Event Attendee.
  • create_event_contactChanges dataCreate a new contact for a event. Search contacts first to avoid duplicates. API summary: Create an Event Contact.
  • create_full_giftChanges dataCreate a new full gift. API summary: Query Gifts with Full Details.
  • create_giftChanges dataRecord a gift in Virtuous: `body` with `contactId`, `giftType`, `giftDate`, `amount`, optional `giftDesignations` (project and amount), `segmentId` and `notes`. Records a donation; it does not charge anyone.
  • create_gift_askChanges dataCreate a new gift ask. Search gift asks first to avoid duplicates. API summary: Create a Gift Ask.
  • create_grantChanges dataCreate a new grant. Search grants first to avoid duplicates. API summary: Create a Grant.
  • create_many_project_expensesVisible to othersCreate a new batch. Has effects visible outside this system. API summary: Create many Project Expenses.
  • create_milestoneChanges dataCreate a new milestone. API summary: Create Milestone Reminder.
  • create_paymentChanges dataCreate a new payment. API summary: Create a Contact that will go through the import process.
  • create_payment_postChanges dataCreate a new payment. API summary: Contact Transaction.
  • create_planned_giftChanges dataCreate a new planned gift. Search planned gifts first to avoid duplicates. API summary: Create a Planned Gift.
  • create_pledgeChanges dataCreate a new pledge. Search pledges first to avoid duplicates. API summary: Create a Pledge.
  • create_premiumChanges dataCreate a new premium. Search premia first to avoid duplicates. API summary: Create a Premium.
  • create_projectChanges dataCreate a new project. Search projects first to avoid duplicates. API summary: Create a Project.
  • create_project_expenseChanges dataCreate a new project expense. API summary: Create a Project Expense.
  • create_project_roleDeletesCreate a new project role. Destructive action; may require approval. API summary: Create a Project Role.
  • create_proximityChanges dataCreate a new proximity. API summary: Find all Contacts within a given proximity of a geocoordinate.
  • create_recurringChanges dataCreate a new recurring. API summary: Create Recurring Reminder.
  • create_recurring_giftChanges dataCreate a new recurring gift. Search recurring gifts first to avoid duplicates. API summary: Create a Recurring Gift.
  • create_relationshipChanges dataCreate a new relationship. API summary: Create a Relationship.
  • create_reminderChanges dataCreate a reminder (follow-up task) for a contact: `contact_id`, `message`, `due_date`, optional `task_type`, `description` and `owner_email`.
  • create_searchChanges dataCreate a new search. API summary: Search for Contacts, Individuals or Entities.
  • create_segmentChanges dataCreate a new segment. Search segments first to avoid duplicates. API summary: Create a Segment.
  • create_taskChanges dataCreate a new task. Search tasks first to avoid duplicates. API summary: Create a Task.
  • create_tributeChanges dataCreate a new tribute. Search tributes first to avoid duplicates. API summary: Create a Tribute.
  • create_volunteer_attendanceChanges dataCreate a new attendance for a volunteer. API summary: Create a Volunteer Attendance.
  • create_webhookDeletesCreate a new webhook. Destructive action; may require approval. API summary: Create a Webhook.
  • delete_a_project_noteDeletesPermanently delete a message by note id. Destructive action; may require approval. API summary: Delete a Project Note.
  • delete_addressDeletesPermanently delete a address by address id. Destructive action; may require approval. API summary: Delete a Contact Address.
  • delete_contact_categoryDeletesPermanently delete a category by category instance id. Destructive action; may require approval. API summary: Delete Collection for a Contact.
  • delete_contact_individualDeletesPermanently delete a contact individual by contact individual id. Destructive action; may require approval. API summary: Delete an Individual.
  • delete_contact_individual_categoryDeletesPermanently delete a category by category id. Destructive action; may require approval. API summary: Delete Collection for an Individual.
  • delete_contact_methodDeletesPermanently delete a contact method by contact method id. Destructive action; may require approval.
  • delete_contact_referenceDeletesPermanently delete a contact reference by reference source. Destructive action; may require approval.
  • delete_contact_tagDeletesPermanently delete a contact tag by contact tag id. Destructive action; may require approval.
  • delete_dealDeletesPermanently delete a deal by deal id. Destructive action; may require approval. API summary: Delete a Volunteer Opportunity.
  • delete_deal_attendanceDeletesPermanently delete a attendance by volunteer attendance id. Destructive action; may require approval. API summary: Delete a Volunteer Attendance.
  • delete_deal_organizerDeletesPermanently delete a organizer by volunteer organizer id. Destructive action; may require approval. API summary: Delete a Volunteer Organizer.
  • delete_deal_volunteerDeletesPermanently delete a volunteer by volunteer id. Destructive action; may require approval.
  • delete_eventDeletesPermanently delete a event by event id. Destructive action; may require approval. API summary: Delete an Event.
  • delete_event_attendeeDeletesPermanently delete a attendee by event attendee id. Destructive action; may require approval. API summary: Delete an Event Attendee.
  • delete_event_contactDeletesPermanently delete a contact by event contact id. Destructive action; may require approval. API summary: Delete an Event Contact.
  • delete_giftDeletesPermanently delete a gift by gift id. Destructive action; may require approval.
  • delete_grantDeletesPermanently delete a grant by grant id. Destructive action; may require approval.
  • delete_messageDeletesPermanently delete a message by note id. Destructive action; may require approval. API summary: Delete a Note.
  • delete_organization_group_contactDeletesPermanently delete a contact by contact id. Destructive action; may require approval. API summary: Remove a Contact from an Organization Group.
  • delete_project_roleDeletesPermanently delete a project role by project role id. Destructive action; may require approval.
  • delete_relationshipDeletesPermanently delete a relationship by relationship id. Destructive action; may require approval.
  • delete_webhookDeletesPermanently delete a webhook by webhook id. Destructive action; may require approval.
  • get_a_contact_by_reference_source_and_idGet one contact by reference id. API summary: Get a Contact by Reference Source and ID.
  • get_a_gift_by_transaction_source_and_idGet one gift by transaction id. API summary: Get a Gift by Transaction Source and ID.
  • get_a_grant_by_reference_idGet one by reference by reference id. API summary: Get a Grant by Reference ID.
  • get_a_project_using_a_unique_codeGet one code by project code. API summary: Get a Project using a unique Code.
  • get_a_segment_using_a_unique_codeGet one code by segment code. API summary: Get a Segment using a unique Code.
  • get_addressGet one address by address id. API summary: Get a Contact Address.
  • get_by_campaignGet one by campaign by campaign id. API summary: Get Communications for a Campaign.
  • get_by_referenceGet one by reference by reference id. API summary: Get a Contact by Reference ID.
  • get_by_tagGet one by tag by tag id. API summary: Get Contacts by Tag ID.
  • get_campaignGet one campaign by campaign id. API summary: Get Campaign.
  • get_codeGet one code by premium code. API summary: Get Premium using a unique Code.
  • get_communicationGet one communication by communication id. API summary: Get Communication.
  • get_contactGet one contact by `contact_id`, with individuals, addresses, contact methods, giving totals and custom fields.
  • get_contact_individualGet one individual by `contact_individual_id`, with name, birth date and contact methods.
  • get_contact_methodGet one contact method by contact method id. API summary: Get a Contact Method.
  • get_contact_method_typesList types. API summary: Get Contact Method Types.
  • get_contact_note_typesList types. API summary: Get Contact Note Types.
  • get_custom_collections_for_individualsList categories. API summary: Get Custom Collections for Individuals.
  • get_custom_fields_availableList custom fields. API summary: Get Custom Fields Available.
  • get_dealGet one deal by deal id. API summary: Get Volunteer Opportunity.
  • get_deal_attendanceGet one attendance for a deal by volunteer attendance id. API summary: Get Volunteer Attendance.
  • get_deal_organizerGet one organizer for a deal by volunteer organizer id. API summary: Get Volunteer Organizer.
  • get_deal_volunteerGet one volunteer for a deal by volunteer id. API summary: Get Volunteer.
  • get_emailsVisible to othersSearch messages. Use this to find existing messages before creating a new message. Has effects visible outside this system. API summary: Get Emails.
  • get_eventGet one event by event id. API summary: Get an Event.
  • get_event_attendeeGet one attendee for a event by event attendee id. API summary: Get an Event Attendee.
  • get_event_attendee_custom_fields_availableList custom fields. API summary: Get Event Attendee Custom Fields Available.
  • get_event_contactGet one contact for a event by event contact id. API summary: Get an Event Contact.
  • get_event_custom_fields_availableList custom fields. API summary: Get Event Custom Fields Available.
  • get_get_steps_by_campaign_idGet one get steps by campaign id by campaign id. API summary: Gets Campaign Steps.
  • get_giftGet one gift by `gift_id`, with amount, date, type, designations to projects and the donor.
  • get_gift_askGet one gift ask by gift ask id. API summary: Get a Gift Ask.
  • get_gift_ask_custom_fields_availableList custom fields. API summary: Get Gift Ask Custom Fields Available.
  • get_gift_asks_for_a_contactGet one contact by contact id. API summary: Get Gift Asks for a Contact.
  • get_gift_custom_fields_availableList custom fields. API summary: Get Gift Custom Fields Available.
  • get_gift_search_fieldsList the fields and operators you can use in search_gifts conditions.
  • get_gifts_for_a_contact_by_reference_idGet one by reference by reference id. API summary: Get Gifts for a Contact by Reference ID.
  • get_grantGet one grant by grant id. API summary: Get Grant.
  • get_grant_custom_fields_availableList custom fields. API summary: Get Grant Custom Fields Available.
  • get_grants_for_a_contactGet one contact by contact id. API summary: Get Grants for a Contact.
  • get_messageGet one message by note id. API summary: Get a Note.
  • get_notes_for_a_projectGet one project by project id. API summary: Get Notes for a Project.
  • get_organizationGet the connected Virtuous organization's details. Use to confirm which account you are working in.
  • get_organization_groupGet one organization group by organization group id. API summary: Get an Organization Group.
  • get_organization_groups_for_a_contactGet one contact by contact id. API summary: Get Organization Groups for a Contact.
  • get_passthrough_gifts_for_a_contactGet one contact by contact id. API summary: Get Passthrough Gifts for a Contact.
  • get_paymentGet one payment by recurring gift id. API summary: Get Payments for a Recurring Gift.
  • get_planned_giftGet one planned gift by planned gift id. API summary: Get Planned Gift.
  • get_planned_gift_custom_fields_availableList custom fields. API summary: Get Planned Gift Custom Fields Available.
  • get_planned_gifts_for_a_contactGet one contact by contact id. API summary: Get Planned Gifts for a Contact.
  • get_pledgeGet one pledge by pledge id. API summary: Get Pledge.
  • get_pledge_custom_fields_availableList custom fields. API summary: Get Pledge Custom Fields Available.
  • get_premiumGet one premium by premium id. API summary: Get Premium.
  • get_premium_custom_fields_availableList custom fields. API summary: Get Premium Custom Fields Available.
  • get_projectGet one project by `project_id`, with code, type, goal and status.
  • get_project_custom_fields_availableList custom fields. API summary: Get Project Custom Fields Available.
  • get_project_expenseGet one project expense by project expense id. API summary: Get Project Expense.
  • get_project_noteGet one message by note id. API summary: Get Project Note.
  • get_project_note_typesList types. API summary: Get Project Note Types.
  • get_project_roleGet one project role by project role id. API summary: Get Project Role.
  • get_project_role_typesList types. API summary: Get Project Role Types.
  • get_project_roles_for_a_contactGet one contact by contact id. API summary: Get Project Roles for a Contact.
  • get_project_roles_for_a_projectGet one project by project id. API summary: Get Project Roles for a Project.
  • get_project_statusChanges dataGet the current status of a project by project id. API summary: Temporarily Change Project Inventory Status.
  • get_project_typesList types. API summary: Get Project Types.
  • get_receiptGet one receipt by receipt id. API summary: Get Receipt.
  • get_recurring_giftGet one recurring gift by recurring gift id. API summary: Get a Recurring Gift.
  • get_recurring_gift_custom_fields_availableList custom fields. API summary: Get Recurring Gift Custom Fields Available.
  • get_relationship_typesList types. API summary: Get Relationship Types.
  • get_relationships_for_a_contactGet one contact by contact id. API summary: Get Relationships for a Contact.
  • get_segmentGet one segment by segment id. API summary: Get a Segment.
  • get_task_typesList types. API summary: Get Task Types.
  • get_the_contact_addresses_for_a_contactGet one contact by contact id. API summary: Get the Contact Addresses for a Contact.
  • get_the_event_typesList types. API summary: Get the Event Types.
  • get_the_important_notes_for_a_contactGet one contact by contact id. API summary: Get the Important Notes for a Contact.
  • get_the_segments_for_a_contactGet one contact by contact id. API summary: Get the Segments for a Contact.
  • get_webhookGet one webhook by webhook id. API summary: Get a Webhook.
  • list_1sList 1s. API summary: Gift By Reference.
  • list_2sList 2s. API summary: Campaign by ID.
  • list_active_remindersList your active reminders (follow-ups due).
  • list_categoriesList categories. API summary: Get Custom Collections for Contacts.
  • list_channel_typesList channel types. API summary: Get Channel Types.
  • list_communication_typesList communication types. API summary: Get Communication Types.
  • list_companiesList companies. API summary: Get the Organizations the current user belongs to.
  • list_contact_activesList actives for a contact. API summary: Get Active Manual Reminders by Contact.
  • list_contact_giftsList the gifts (donations) given by a contact, by `contact_id`.
  • list_contact_inactivesList inactives for a contact. API summary: Get Inactive Manual Reminders by Contact.
  • list_contact_individual_avatarsList avatars for a contact individual. API summary: Gets the avatar for a specified contact individual.
  • list_contact_individualsList the individuals (people) that belong to a contact by `contact_id`.
  • list_contact_notesList the notes on a contact by `contact_id`.
  • list_contact_pledgesList a contact's pledges (promised gifts) by `contact_id`.
  • list_contact_recurring_giftsList a contact's recurring gifts (ongoing monthly or yearly giving) by `contact_id`.
  • list_contact_remindersList a contact's open manual reminders by `contact_id`.
  • list_contact_tagsList the tags on a contact by `contact_id`.
  • list_custom_fieldsList custom fields. API summary: Get Contact Custom Fields Available.
  • list_custom_fields_2List custom fields. API summary: Gets the custom fields for contact note.
  • list_custom_fields_getList custom fields. API summary: Gets the custom fields for contact individuals.
  • list_deal_organizersList organizers for a deal. API summary: Get Volunteer Organizers.
  • list_deal_volunteersList volunteers for a deal. API summary: Get Volunteers for a Volunteer Opportunity.
  • list_dealsList deals. API summary: Get Volunteer Opportunities.
  • list_event_attendeesList attendees for a event. API summary: Get Event Attendees for an Event.
  • list_event_contactsList contacts for a event. API summary: Get Event Contacts for an Event.
  • list_eventsList events. API summary: Get Events.
  • list_followingsList followings. API summary: Get the Contacts the current user is following.
  • list_gift_ask_giftsList gifts for a gift ask. API summary: Get the Gifts applied to a Gift Ask.
  • list_grant_giftsList gifts for a grant. API summary: Get the Gifts applied to a Grant.
  • list_milestonesList milestones. API summary: Gets Milestone Types.
  • list_non_cash_gift_typesList non cash gift types. API summary: Get Non-Cash Gift Types Available.
  • list_organization_group_contactsList contacts for a organization group. API summary: Get the Contacts in an Organization Group.
  • list_organization_groupsList organization groups. API summary: Get all Organization Groups.
  • list_permissionsList permissions. API summary: Get Permissions for the current user.
  • list_planned_gift_giftsList gifts for a planned gift. API summary: Get Gifts Applied to a Planned Gift.
  • list_prefixesList prefixes. API summary: Get Contact Name Prefixes and Titles.
  • list_project_expensesList project expenses. API summary: Get Project Expenses for a Project.
  • list_receiptsList receipts.
  • list_related_typesList related types. API summary: Get Contact Methods Types related to the Base Type.
  • list_reminder_frequenciesList reminder frequencies. API summary: Gets Reminder Frequency Types.
  • list_reminder_sourcesList reminder sources. API summary: Get Reminder Source Types.
  • list_remindersList reminders. API summary: Get Reminder Types.
  • list_savedsList saveds. API summary: Get Saved Reminders (for current user).
  • list_tagsList all tags in your Virtuous account. Use to find a `tag_id`.
  • list_tasksList tasks. API summary: Get the Activity for the Contacts the current user is following.
  • list_typesList types. API summary: Get Contact Types.
  • list_volunteer_attendancesList attendances for a volunteer. API summary: Get Volunteer Attendance for a Volunteer.
  • search_campaignsChanges dataSearch campaigns. Use this to find existing campaigns before creating a new campaign. API summary: Query Campaigns.
  • search_campaigns_optionsSearch campaigns. Use this to find existing campaigns before creating a new campaign. API summary: Get Campaign Query Options.
  • search_campaigns_queryChanges dataSearch campaigns. Use this to find existing campaigns before creating a new campaign. API summary: Campaign Query.
  • search_communicationsChanges dataSearch communications. Use this to find existing communications before creating a new communication. API summary: Query Communications.
  • search_communications_optionsSearch communications. Use this to find existing communications before creating a new communication. API summary: Communication Query Options.
  • search_contact_individualsSearch contact individuals. Use this to find existing contact individuals before creating a new contact individual. API summary: Find an individual by email address.
  • search_contact_individuals_optionsSearch contact individuals. Use this to find existing contact individuals before creating a new contact individual. API summary: Get Individual Query Options.
  • search_contact_individuals_queryChanges dataSearch contact individuals. Use this to find existing contact individuals before creating a new contact individual. API summary: Query Individuals.
  • search_contactsChanges dataSearch contacts (donors, households, organizations) by name, email or other text in `search`. Use this to find a contact ID.
  • search_contacts_2Search contacts. Use this to find existing contacts before creating a new contact. API summary: Find a Contact by Email Address or Reference Source and ID.
  • search_contacts_optionsSearch contacts. Use this to find existing contacts before creating a new contact. API summary: Get Contact Query Options.
  • search_contacts_queryChanges dataSearch contacts. Use this to find existing contacts before creating a new contact. API summary: Query Contacts with Abbreviated Details.
  • search_custom_fieldsChanges dataSearch custom fields. Use this to find existing custom fields before creating a new custom field. API summary: CustomField Search.
  • search_dealsChanges dataSearch deals. Use this to find existing deals before creating a new deal. API summary: Queries Volunteer Opportunities.
  • search_deals_optionsSearch deals. Use this to find existing deals before creating a new deal. API summary: Get Query Options.
  • search_email_listsVisible to othersSearch email lists. Use this to find existing email lists before creating a new email list. Has effects visible outside this system. API summary: Search for an Email List.
  • search_event_attendeesChanges dataSearch event attendees. Use this to find existing event attendees before creating a new event attendee. API summary: Query Event Attendees.
  • search_event_attendees_optionsSearch event attendees. Use this to find existing event attendees before creating a new event attendee. API summary: Get Event Attendee Query Options.
  • search_eventsSearch events. Use this to find existing events before creating a new event. API summary: Find an Event.
  • search_events_optionsSearch events. Use this to find existing events before creating a new event. API summary: Get Event Query Options.
  • search_events_queryChanges dataSearch events. Use this to find existing events before creating a new event. API summary: Query Events.
  • search_gift_asksChanges dataSearch gift asks. Use this to find existing gift asks before creating a new gift ask. API summary: Query Gift Asks.
  • search_gift_asks_optionsSearch gift asks. Use this to find existing gift asks before creating a new gift ask. API summary: Get Gift Ask Query Options.
  • search_gift_designationsChanges dataSearch gift designations. Use this to find existing gift designations before creating a new gift designation. API summary: Query Gift Designations.
  • search_gift_designations_optionsSearch gift designations. Use this to find existing gift designations before creating a new gift designation. API summary: Get Gift Designation Query Options.
  • search_giftsChanges dataSearch gifts with `groups` of `conditions` (each a `parameter`, `operator` and `value`). Call get_gift_search_fields first for valid parameters.
  • search_grantsChanges dataSearch grants. Use this to find existing grants before creating a new grant. API summary: Query Grants.
  • search_grants_optionsSearch grants. Use this to find existing grants before creating a new grant. API summary: Get Grant Query Options.
  • search_messagesChanges dataSearch messages. Use this to find existing messages before creating a new message. API summary: Query Contact Notes.
  • search_messages_optionsSearch messages. Use this to find existing messages before creating a new message. API summary: Get Contact Note Query Options.
  • search_planned_giftsChanges dataSearch planned gifts. Use this to find existing planned gifts before creating a new planned gift. API summary: Query Planned Gifts.
  • search_planned_gifts_optionsSearch planned gifts. Use this to find existing planned gifts before creating a new planned gift. API summary: Get Planned Gift Query Options.
  • search_pledgesChanges dataSearch pledges. Use this to find existing pledges before creating a new pledge. API summary: Query Pledges.
  • search_pledges_optionsSearch pledges. Use this to find existing pledges before creating a new pledge. API summary: Get Pledge Query Options.
  • search_premiaChanges dataSearch premia. Use this to find existing premia before creating a new premium. API summary: Find Premiums.
  • search_premia_optionsSearch premia. Use this to find existing premia before creating a new premium. API summary: Get Premium Query Options.
  • search_premia_queryChanges dataSearch premia. Use this to find existing premia before creating a new premium. API summary: Query Premiums.
  • search_projectsChanges dataSearch projects (funds and designations gifts go to) by text in `search`.
  • search_projects_optionsSearch projects. Use this to find existing projects before creating a new project. API summary: Get Project Query Options.
  • search_projects_queryChanges dataSearch projects. Use this to find existing projects before creating a new project. API summary: Query Projects.
  • search_recurring_giftsChanges dataSearch recurring gifts. Use this to find existing recurring gifts before creating a new recurring gift. API summary: Query Recurring Gifts.
  • search_recurring_gifts_optionsSearch recurring gifts. Use this to find existing recurring gifts before creating a new recurring gift. API summary: Get Recurring Gift Query Options.
  • search_segmentsChanges dataSearch segments. Use this to find existing segments before creating a new segment. API summary: Find Segments.
  • search_tagsChanges dataSearch tags. Use this to find existing tags before creating a new tag. API summary: Find all Tags that match, fully or partially.
  • search_tasksChanges dataSearch tasks. Use this to find existing tasks before creating a new task. API summary: Query Tasks.
  • search_tasks_optionsSearch tasks. Use this to find existing tasks before creating a new task. API summary: Get Task Query Options.
  • search_tributesSearch tributes. Use this to find existing tributes before creating a new tribute. API summary: Search for Tributes.
  • search_volunteersSearch volunteers. Use this to find existing volunteers before creating a new volunteer. API summary: Search for Volunteers.
  • search_volunteers_optionsSearch volunteers. Use this to find existing volunteers before creating a new volunteer. API summary: Get Query Options.
  • search_volunteers_queryChanges dataSearch volunteers. Use this to find existing volunteers before creating a new volunteer. API summary: Query Volunteers.
  • send_an_email_to_a_list_of_contactsVisible to othersSend a message. Has effects visible outside this system. API summary: Send an Email to a list of Contacts.
  • send_contact_individual_listVisible to othersEmail a contact individual (contact individual id). Has effects visible outside this system. API summary: Get Email Lists for an Individual.
  • send_listVisible to othersEmail a list. Has effects visible outside this system. API summary: Add Individuals to an Email List.
  • send_messageVisible to othersEmail a message. Has effects visible outside this system. API summary: Create a Note using an Email.
  • update_a_project_noteChanges dataUpdate an existing message identified by note id. API summary: Update a Project Note.
  • update_addressChanges dataUpdate an existing address identified by address id. API summary: Update a Contact Address.
  • update_archiveChanges dataUpdate an existing archive identified by contact id. API summary: Archive a Contact.
  • update_cancelChanges dataUpdate an existing cancel identified by recurring gift id. API summary: Cancel a Recurring Gift.
  • update_contactChanges dataUpdate a contact by `contact_id`: name, informal name, type, description, website or custom fields.
  • update_contact_categoryChanges dataUpdate an existing category identified by custom collection id. API summary: Create Collection for a Contact.
  • update_contact_individualChanges dataUpdate an individual by `contact_individual_id`: name, prefix, gender, birth date, deceased flag or custom fields.
  • update_contact_individual_categoryChanges dataUpdate an existing category identified by custom collection id. API summary: Create Collection for an Individual.
  • update_contact_methodChanges dataUpdate an existing contact method identified by contact method id. API summary: Update a Contact Method.
  • update_dealChanges dataUpdate an existing deal identified by deal id. API summary: Update a Volunteer Opportunity.
  • update_deal_attendanceChanges dataUpdate an existing attendance identified by volunteer attendance id. API summary: Update a Volunteer Attendance.
  • update_decrementChanges dataUpdate an existing decrement identified by premium id. API summary: Decrement the inventory count.
  • update_dismissedChanges dataUpdate an existing dismissed identified by dismissed id. API summary: Dismiss Reminder.
  • update_eventChanges dataUpdate an existing event identified by event id. API summary: Update an Event.
  • update_event_attendeeChanges dataUpdate an existing attendee identified by event attendee id. API summary: Update an Event Attendee.
  • update_giftChanges dataUpdate a recorded gift by `gift_id` with a `body` of the fields to change, such as amount, date, notes or designations.
  • update_gift_askChanges dataUpdate an existing gift ask identified by gift ask id. API summary: Update a Gift Ask.
  • update_giftsVisible to othersUpdate an existing gift. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update many Gifts.
  • update_grantChanges dataUpdate an existing grant identified by grant id. API summary: Update a Grant.
  • update_incrementChanges dataUpdate an existing increment identified by premium id. API summary: Increment the inventory count.
  • update_messageChanges dataUpdate an existing message identified by note id. API summary: Update a Note.
  • update_milestoneChanges dataUpdate an existing milestone identified by milestone id. API summary: Update Milestone Reminder.
  • update_organization_group_contactChanges dataUpdate an existing contact identified by contact id. API summary: Assign a Contact to an Organization Group.
  • update_planned_giftChanges dataUpdate an existing planned gift identified by planned gift id. API summary: Update a Planned Gift.
  • update_pledgeChanges dataUpdate an existing pledge identified by pledge id. API summary: Update a Pledge.
  • update_premiumChanges dataUpdate an existing premium identified by premium id. API summary: Update a Premium.
  • update_projectChanges dataUpdate an existing project identified by project id. API summary: Update a Project.
  • update_project_balancesVisible to othersUpdate an existing balance identified by project id. Has effects visible outside this system. API summary: Update Project Balance.
  • update_project_expenseChanges dataUpdate an existing project expense identified by project expense id. API summary: Update a Project Expense.
  • update_project_roleDeletesUpdate an existing project role identified by project role id. Destructive action; may require approval. API summary: Update a Project Role.
  • update_projectsVisible to othersUpdate an existing project. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update many Projects.
  • update_recurringChanges dataUpdate an existing recurring identified by recurring id. API summary: Update Recurring Reminder.
  • update_recurring_giftChanges dataUpdate an existing recurring gift identified by recurring gift id. API summary: Update a Recurring Gift.
  • update_relationshipChanges dataUpdate an existing relationship identified by relationship id. API summary: Update a Relationship.
  • update_segmentChanges dataUpdate an existing segment identified by segment id. API summary: Update a Segment.
  • update_switchesVisible to othersUpdate an existing switch. Has effects visible outside this system. API summary: Switch the Current Organization.
  • update_toggle_followChanges dataUpdate an existing toggle follow identified by contact id. API summary: Follow or Unfollow a Contact for the current user.
  • update_tributeChanges dataUpdate an existing tribute identified by tribute id. API summary: Update a Tribute.
  • update_unarchiveChanges dataUpdate an existing unarchive identified by contact id. API summary: Unarchive a Contact.
  • update_webhookDeletesUpdate an existing webhook identified by webhook id. Destructive action; may require approval. API summary: Update a Webhook.
  • update_webhook_activesMoves moneyUpdate an existing active identified by webhook id. Financial or irreversible action; may require approval. API summary: Set the active state of a Webhook.
  • update_write_offChanges dataUpdate an existing write off identified by pledge id. API summary: Write-off the Pledge.

Set up in three steps

  1. 1

    Pick the app

    Create a free HeyMyApps account and choose Virtuous CRM from the app list.

  2. 2

    Paste your key

    Paste a Virtuous API key. In Virtuous, open the API Keys section in Settings and click Create a Key. Give it a name, choose a permission group, save, then view and copy the key.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in Virtuous CRM?

The AI can search and read contacts, individuals, gifts, recurring gifts, pledges, notes, tags, projects and reminders. It can create and update contacts and individuals, add addresses, contact methods, notes and tags, record and update gifts, and create and complete reminders.

Does the AI see my Virtuous API key?

No. Your Virtuous credentials are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start with lookups only. Recording or changing gifts affects your giving records and can require your approval before it runs. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT, open Settings › Apps & Connectors › Advanced, turn on Developer mode and add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

HeyMyApps has a free plan, and you do not need a credit card to start. Paid plans are billed per completed task. You also need your own Virtuous account.

Does recording a gift charge the donor?

No. The create_gift tool records a donation that has already happened in Virtuous, with donor, date, amount and designation. It does not process a payment or charge anyone.

Let your AI work in Virtuous CRM today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect Virtuous CRM free

HeyMyApps is not affiliated with Virtuous CRM. Product names are trademarks of their owners.