[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Approve Wild Apricot membership applications with AI

> Approve or reject Pending - New Wild Apricot applicants by your own rules, skip unpaid ones and leave edge cases for you. Runs daily.

Source: https://cotlet.dev/integrations/wild-apricot-api-mcp-server/approve-membership-applications

A level that requires administrator approval fills the Pending - New list overnight, and someone with the right role has to open each contact, read the application and press Approve or Reject.

Cotlet does it in your own Wild Apricot account with list\_membership\_levels, list\_contacts, get\_contact, approve\_membership\_application and reject\_membership\_application, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=wild-apricot) [All Wild Apricot tools](https://cotlet.dev/integrations/wild-apricot-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Wild Apricot do this on its own?

Wild Apricot gives two native choices per level (checked 23 Oct 2026): activate every application automatically, or approve each one by hand on the Membership tab. Neither applies your own rule to the answers. The admin API is for developers, and the help center lists no approval rule or agent tool.

## How you do it in Wild Apricot today

1. An admin sets the level up under Members > Levels, on the New applications tab, by checking Membership applications must be approved by administrator.
2. When someone applies, their status becomes Pending - New. The admin finds them by searching for Pending in the contact or member list.
3. The admin opens each contact record, goes to the Membership tab and selects Approve or Reject. Approval sets the status to Active and Member since to the approval date.
4. A rejected paid application is cancelled, its payment is unsettled and the invoice is voided automatically; the admin then refunds the payment and records the refund. An unpaid one needs the invoice voided and deleted first.
5. Nothing sorts the list: every application costs one open, one read and one click, and a monthly level waiting too long is charged for the months in between.

## How to approve Wild Apricot membership applications with AI

Prompt

```
Go through the Pending - New members in my Wild Apricot. Approve applicants who have paid and whose form answers fit our rules, reject obvious spam, and leave the rest for me with a one-line reason.
```

1. 01  
### Pick the levels that need you  
Your agent calls list\_membership\_levels first and keeps the levels where approval\_required is true. A level without that setting activates applicants by itself, so there is nothing for the agent to do there.
2. 02  
### Read who is waiting  
list\_contacts runs with membership\_status set to "Pending - New" and follows next\_cursor to the end. The status also covers applicants who only owe the fee, so the agent keeps the list and checks payment in the next step.
3. 03  
### Check payment and the rule  
get\_contact returns the application fields and the contact balance for each applicant. An applicant with an unpaid balance stays untouched: when a level requires both payment and approval, Wild Apricot checks payment first. The agent quotes the answer it relied on, so you see why each person passed.
4. 04  
### Approve, then reject  
approve\_membership\_application runs for the matches first. reject\_membership\_application runs only for clear spam. A paid rejection voids the invoice but does not refund it, so the agent lists the payer for you to refund. Both wait for your OK by default.
5. 05  
### Leave the rest pending  
Anyone who fits no rule stays Pending - New. The agent returns a one-line reason per person and does not touch them again until you answer.

### What you get back

Example data

```
Pending - New in Individual and Family levels: 12
Approved 8 (paid, form fields complete)
Rejected 1 (promo link in every field)
Left for you 3:
- Nora Elwood: Family level, invoice still unpaid
- Sam Okafor: asked for the Student level without a school name
```

### Other ways to ask

- Every morning, approve Individual applicants whose invoice is paid and list the rest for me.
- Show the Pending - New list sorted by how long each person has waited, and approve nobody yet.
- Approve applicants on monthly levels first, so no one is charged for months of waiting.
- Reject applicants whose email domain I list below and tell me which payments to refund.

## What Wild Apricot allows, and what to know first

- A Pending - New member cannot view member-only pages or register with member-only ticket types, but still receives event announcements and email blasts.
- If a level requires both payment in full and administrator approval, the system checks payment first, then flags the profile for approval.
- If a recurring monthly level is not approved before the next renewal date, the system charges the member for each month between the application date and the approval date.
- Wild Apricot keeps the records of rejected members as contacts, so the same person can apply again.
- A membership manager can renew and approve memberships, and a full administrator can do everything, so either role fits this job.

approve\_membership\_application and reject\_membership\_application ask for your OK by default. To run it daily without you, switch confirmation off for those tools in your dashboard.

Sources: [Wild Apricot Help: New applications](https://gethelp.wildapricot.com/en/articles/2861-new-applications) · [Wild Apricot Help: Member and contact statuses](https://gethelp.wildapricot.com/en/articles/137-member-and-contact-statuses) · [Wild Apricot Help: Account administrators](https://gethelp.wildapricot.com/en/articles/50-account-administrators)

## Call approve\_membership\_application from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/wild-apricot/contacts/48213/membership-application/approve \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

Example response

```
{
"contact_id": 48213,
"name": "Nora Elwood",
"membership_level": "Individual",
"membership_status": "Active",
"member_since": "2026-10-23"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is wild\_apricot\_write → approve\_membership\_application. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/wild-apricot-api-mcp-server.md#automations)

## Wild Apricot tools this automation uses

__Cotlet Wild Apricot tools used to approve Wild Apricot membership applications with AI__
| Tool | Parameters |
| -------------------------------- | ----------------------------------------------------- |
| list\_membership\_levels | none |
| list\_contacts | search, membership\_status, membership\_level, cursor |
| get\_contact | contact\_id |
| approve\_membership\_application | contact\_id |
| reject\_membership\_application | contact\_id |

[All 12 Wild Apricot tools with descriptions](https://cotlet.dev/integrations/wild-apricot-api-mcp-server.md#tools)

## Frequently asked questions

### Can I skip the approval step instead?

Yes, on the New applications tab you can switch off Membership applications must be approved by administrator and Wild Apricot activates everyone. That lets in every applicant, which is the gap this job fills: it approves only those who match your rule.

### Is it safe to connect Wild Apricot to Cotlet?

Yes. You sign in to Wild Apricot yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Wild Apricot once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Wild Apricot automations

- [Email Wild Apricot event attendees after the event](https://cotlet.dev/integrations/wild-apricot-api-mcp-server/email-event-attendees-after-event.md)
- [Record offline payments against Wild Apricot invoices](https://cotlet.dev/integrations/wild-apricot-api-mcp-server/record-offline-payments-against-invoices.md)
- [Wild Apricot API and MCP server: every tool](https://cotlet.dev/integrations/wild-apricot-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Wild Apricot.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Wild Apricot.

[Sign up free](https://cotlet.dev/app/signup?app=wild-apricot)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
