Integration

Wild Apricot integration

Wild Apricot is membership management software for associations, clubs and non-profits. Manage contacts and members, membership levels, bundles and pending applications; create events, registration types and registrations, check attendees in; issue invoices, record payments, refunds and donations; send emails and invoice, payment or refund notifications; manage online store products and orders; read the email log, audit log and CEU records. Every tool needs the account id from list_accounts. Left out: login, two-factor and terms-of-use routes, the internal feature flag route, the raw-integer draft recipient routes and the base64 attachment and product picture uploads (their file encoding is undocumented). Authentication: in the Wild Apricot admin view, open Apps, then Authorized applications, authorize a Server application with Full access and copy its API key, then connect with client id APIKEY and that API key as the client secret; LiveContext exchanges it for a 30-minute access token (scope auto).

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Wild Apricot.Built from the 114 Wild Apricot tools below, on the connection you add once.

What you can do with Wild Apricot

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Ceu record, 6 operations

  • create_ceu_recordCreate ceu recordPOSTAdd a continuing education unit (CEU) record to a contact.
  • delete_ceu_recordDelete ceu recordDELETEDelete a continuing education unit (CEU) record by its id.
  • get_ceu_recordGet ceu recordGETGet one continuing education unit (CEU) record by its id.
  • list_ceu_recordsList ceu recordsGETList continuing education unit (CEU) records, optionally for one contact or a set of ids.
  • update_ceu_record_by_idUpdate ceu record by idPUTUpdate a continuing education unit (CEU) record by its id.
  • update_ceu_record_by_sourceUpdate ceu record by sourcePUTUpdate a CEU record found by its SourceRefId, SourceType and Contact; all three must be valid.

Contact, 5 operations

  • create_contactCreate contactPOSTCreate a contact or member. Set custom fields through FieldValues (names from list_contact_fields); set MembershipLevel to make the contact a member.
  • delete_contactDelete contactDELETEPermanently delete a contact. Only an archived contact can be deleted.
  • get_contactGet contactGETGet one contact or member with all field values. Set getExtendedMembershipInfo=true to see pending membership actions allowed for the contact.
  • list_contactsList contactsGETSearch contacts and members. Pass $async=false to get the list in this response; otherwise you get a ResultId, then call list_contacts again with resultId to read the result.
  • update_contactUpdate contactPUTUpdate a contact or member. Send only the fields you want to change; field values are set through FieldValues.

Event, 5 operations

  • create_eventCreate eventPOSTCreate an event. Name, EventType and StartDate are required; returns the new event id.
  • delete_eventDelete eventDELETEPermanently delete an event from the account.
  • get_eventGet eventGETGet one event with its details, sessions, registration types and registration settings.
  • list_eventsList eventsGETList events, filtered and sorted. Pass $async=false to get the events in this response, or idsOnly / $count for ids or a count only.
  • update_eventUpdate eventPUTUpdate an event. Name, EventType and StartDate are always required: read them with get_event and send them back with your change.

Event registration type, 5 operations

  • create_event_registration_typeCreate event registration typePOSTCreate a registration type (ticket kind) on an event.
  • delete_event_registration_typeDelete event registration typeDELETEPermanently delete an event registration type.
  • get_event_registration_typeGet event registration typeGETGet one event registration type (ticket kind) with its price and availability.
  • list_event_registration_typesList event registration typesGETList the registration types (ticket kinds) of one event, with prices and availability.
  • update_event_registration_typeUpdate event registration typePUTUpdate an event registration type (ticket kind).

Eventregistration, 5 operations

  • create_event_registrationCreate event registrationPOSTRegister a contact for an event with a registration type (Event, Contact and RegistrationTypeId are required).
  • delete_event_registrationDelete event registrationDELETEPermanently delete an event registration.
  • get_event_registrationGet event registrationGETGet one event registration with its form field values, fee and payment state.
  • list_event_registrationsList event registrationsGETList event registrations by event or contact, optionally with waitlist and canceled entries. Pagination is not applied when $filter is set.
  • update_event_registrationUpdate event registrationPUTUpdate an event registration (registration type, fields, memo, check-in flag).

Invoice, 5 operations

  • create_invoiceCreate invoicePOSTCreate an invoice for a contact, with order lines and notes.
  • delete_invoiceDelete invoiceDELETEPermanently delete an invoice.
  • get_invoiceGet invoiceGETGet one invoice with its order lines, amount, contact and notes.
  • list_invoicesList invoicesGETList invoices by date range, paid or unpaid, voided or not. Only one of contactId, eventId, eventRegistrationId is used, in that order.
  • update_invoiceUpdate invoicePUTUpdate an existing invoice (amount, lines, date, notes).

Payment, 5 operations

  • create_paymentCreate paymentPOSTRecord a payment (amount, contact, tender) and optionally settle invoices with it.
  • delete_paymentDelete paymentDELETEPermanently delete a payment.
  • get_paymentGet paymentGETGet one payment with its amount, contact, tender and comments.
  • list_paymentsList paymentsGETList payments by contact, event, date range, type or ids, optionally only unsettled ones.
  • update_paymentUpdate paymentPUTUpdate an existing payment (amount, date, tender, comments).

Product, 5 operations

  • create_store_productCreate store productPOSTCreate an online store product (physical, digital or e-course).
  • delete_store_productDelete store productDELETEDelete an online store product by its id.
  • get_store_productGet store productGETGet one online store product with prices, variants, stock and pictures.
  • list_store_productsList store productsGETList online store products, optionally by ids or source reference.
  • update_store_productUpdate store productPUTUpdate an online store product by its id.

Refund, 5 operations

  • create_refundCreate refundPOSTRecord a refund to a contact.
  • delete_refundDelete refundDELETEPermanently delete a refund.
  • get_refundGet refundGETGet one refund with its amount, contact and tender.
  • list_refundsList refundsGETList refunds by contact, event, date range or ids, optionally only unsettled ones.
  • update_refundUpdate refundPUTUpdate an existing refund (amount, date, tender, comments).

Tender, 5 operations

  • create_tenderCreate tenderPOSTCreate a custom tender (payment method name).
  • delete_tenderDelete tenderDELETEDelete a tender (payment method).
  • get_tenderGet tenderGETGet one tender (payment method) by its id.
  • list_tendersList tendersGETList tenders: the payment methods (cash, cheque, card and custom ones) payments and refunds are recorded with.
  • update_tenderUpdate tenderPUTRename or reorder a tender (payment method).

Contactfield, 4 operations

  • create_contact_field_definitionCreate contact field definitionPOSTCreate a custom contact or membership field (text, choice, date, picture and other types).
  • delete_contact_field_definitionDelete contact field definitionDELETEDelete a custom contact or membership field definition by its id.
  • list_contact_fieldsList contact fieldsGETList contact and membership field definitions (system and custom): field names, types, access and allowed values, used to read or set FieldValues.
  • update_contact_field_definitionUpdate contact field definitionPUTUpdate a custom contact or membership field. Its type cannot change, and a contact field cannot become a membership field or the reverse.

Donation, 4 operations

  • create_donationCreate donationPOSTRecord a donation (donor, amount, date, payment).
  • get_donationGet donationGETGet one donation: donor, amount, date, payment and field values.
  • list_donationsList donationsGETList donations created in a date range, or only their count.
  • update_donationUpdate donationPUTUpdate an existing donation.

Donationfield, 4 operations

  • create_donation_fieldCreate donation fieldPOSTCreate a custom donation field.
  • delete_donation_fieldDelete donation fieldDELETEDelete a custom donation field definition by its id.
  • list_donation_fieldsList donation fieldsGETList donation field definitions (system and custom), used to read or set donation field values.
  • update_donation_fieldUpdate donation fieldPUTUpdate a custom donation field. Its type cannot change.

Email draft, 3 operations

  • delete_email_draftDelete email draftDELETEPermanently delete an email draft.
  • get_email_draftGet email draftGETGet one email draft with its subject, body and recipients.
  • list_email_draftsList email draftsGETList email drafts, filtered by change date, creator or scheduled state.

Account, 2 operations

  • get_accountGet accountGETGet one account: name, primary domain, time zone, currency, payment settings, billing plan and contact limit.
  • list_accountsList accountsGETList the Wild Apricot accounts this credential can reach (usually one). Read Id here: every other tool needs it as accountId.

Audit log item, 2 operations

  • get_audit_log_itemGet audit log itemGETGet one audit log item by its id.
  • list_audit_log_itemsList audit log itemsGETList audit log items. Set StartDate/EndDate or filterObjectType with FilterObjectId; an empty filter is refused.

Bundle, 2 operations

  • get_bundleGet bundleGETGet one membership bundle: its administrator, level and participants limit.
  • list_bundlesList bundlesGETList membership bundles, optionally only those of one membership level.

Membergroup, 2 operations

  • get_member_groupGet member groupGETGet one ad hoc member group and the ids of the contacts in it.
  • list_member_groupsList member groupsGETList ad hoc member groups with their names and contact counts.

Membershiplevel, 2 operations

  • get_membership_levelGet membership levelGETGet one membership level: fee, renewal period, type and settings.
  • list_membership_levelsList membership levelsGETList membership levels with their fees, renewal periods and types.

Order, 2 operations

  • get_store_orderGet store orderGETGet one online store order by its number: products, totals, buyer, shipping and status.
  • list_store_ordersList store ordersGETList online store orders, filtered by status, payment status and date range.

Picture, 2 operations

  • get_pictureGet pictureGETDownload a picture (for example a contact picture field value) and return it as a stored file.
  • upload_pictureUpload picturePOSTUpload one or two pictures as files and get their identifiers, to use as picture field values.

Savedsearch, 2 operations

  • get_saved_searchGet saved searchGETGet one saved search and the ids of the contacts it currently finds.
  • list_saved_searchesList saved searchesGETList the saved contact searches defined in the account, with their names and descriptions.

Sent email, 2 operations

  • get_sent_emailGet sent emailGETGet one sent email from the email log: subject, sender, recipients count and delivery figures.
  • list_sent_emailsList sent emailsGETList emails sent from the account (the email log), filtered by date, sender or origin.

Source, 2 operations

  • delete_store_product_by_sourceDelete store product by sourceDELETEDelete an online store product found by its source reference id.
  • update_store_product_by_sourceUpdate store product by sourcePUTUpdate an online store product found by the source reference id it was created with.

Allocate invoice, 1 operation

  • allocate_invoiceAllocate invoicePOSTSettle an invoice with a payment. After this the invoice is marked as paid.

Allocate refund to donation, 1 operation

  • allocate_refund_to_donationAllocate refund to donationPOSTAllocate a refund to a donation.

Allocate refund to payment, 1 operation

  • allocate_refund_to_paymentAllocate refund to paymentPOSTAllocate a refund to a payment.

Approve pending membership, 1 operation

  • approve_pending_membershipApprove pending membershipPOSTApprove a contact's pending membership. Check first with get_contact (getExtendedMembershipInfo=true) that the action is allowed, or the call fails.

Attachment, 1 operation

  • get_attachmentGet attachmentGETDownload an attachment by its id and return it as a stored file.

Check in event attendee, 1 operation

  • check_in_event_attendeeCheck in event attendeePOSTCheck an event attendee in (CheckedIn=true) or out (CheckedIn=false), optionally setting the number of checked-in guests.

Clone event, 1 operation

  • clone_eventClone eventPOSTCopy an existing event into a new one, optionally prefixing its title. Returns the new event id.

Count unique addresses for email recipient, 1 operation

  • count_unique_recipient_addressesCount unique recipient addressesPOSTCount the unique email addresses a recipient list resolves to. Sends nothing.

Generate invoice for event registration, 1 operation

  • generate_invoice_for_event_registrationGenerate invoice for event registrationPOSTCreate (or with updateIfExists, update) the invoice of an event registration. Returns the invoice.

Generate invoice for pending membership, 1 operation

  • generate_invoice_for_pending_membershipGenerate invoice for pending membershipPOSTCreate (or with updateIfExists, update) the invoice of a contact's pending membership. Allowed only in some membership states.

Get email draft preview, 1 operation

  • preview_email_draftPreview email draftPOSTRender an email draft with its macros applied and return the subject and body. Sends nothing.

Get info, 1 operation

  • list_attachment_infosList attachment infosGETGet the name, MIME type and size of one or more attachments by id.

Get unique addresses for email recipient, 1 operation

  • list_unique_recipient_addressesList unique recipient addressesPOSTList the unique email addresses a recipient list resolves to. Sends nothing.

Me, 1 operation

  • get_current_contactGet current contactGETGet the contact record of the user the access token belongs to (with an API key, the administrator who created the key).

Payment allocation, 1 operation

  • list_payment_allocationsList payment allocationsGETList how payments are allocated among invoices. Give at least one of InvoiceId, PaymentId or RefundId.

Register from waitlist, 1 operation

  • register_from_waitlistRegister from waitlistPOSTTurn a waitlist entry into a real registration for the event.

Reject pending membership, 1 operation

  • reject_pending_membershipReject pending membershipPOSTReject a contact's pending membership. Check first with get_contact (getExtendedMembershipInfo=true) that the action is allowed, or the call fails.

Send email, 1 operation

  • send_emailSend emailPOSTSend an email (subject, HTML body) to the given recipients now. Returns the id of the sent email in the email log.

Send email draft, 1 operation

  • send_email_draftSend email draftPOSTSend an email draft to its recipients now. Returns the id of the sent email in the email log.

Send invoice email, 1 operation

  • send_invoice_emailSend invoice emailPOSTEmail an invoice to the given address now, with your subject and body.

Send payment email, 1 operation

  • send_payment_emailSend payment emailPOSTEmail a payment confirmation to the given address now, with your subject and body.

Send refund email, 1 operation

  • send_refund_emailSend refund emailPOSTEmail a refund notification to the given address now, with your subject and body.

Sent email recipient, 1 operation

  • list_sent_email_recipientsList sent email recipientsGETList the recipients of one sent email (emailId), with delivered and opened flags and optionally clicked links.

Set email draft schedule, 1 operation

  • set_email_draft_scheduleSet email draft schedulePOSTPause (IsScheduled=false) or resume and reschedule a scheduled email draft.

Status, 1 operation

  • update_store_order_statusUpdate store order statusPUTSet the fulfilment status of an online store order (UNFULFILLED, FULFILLED or CANCELLED).

Unallocate from donation, 1 operation

  • unallocate_from_donationUnallocate from donationPOSTRemove every finance document allocation from a donation.

Unallocate from payment, 1 operation

  • unallocate_from_paymentUnallocate from paymentPOSTRemove every finance document allocation from a payment.

Void invoice, 1 operation

  • void_invoiceVoid invoicePOSTVoid an active invoice. A voided invoice no longer counts as owed.

Use Wild Apricot from Claude Code, Cursor or Codex

Connect Wild Apricot in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Wild Apricot operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Wild Apricot

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Wild Apricot once

    Add your Wild Apricot connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Wild Apricot integration FAQ

What can you do with the Wild Apricot integration?

LiveContext exposes 114 operations on Wild Apricot, covering ceu record, contact, event and event registration type.

Popular integrations

Browse the whole catalog