Skip to content

Integration · CRM & sales

tidyhq.com

Connect Claude & ChatGPT to TidyHQ

Ask your AI whose membership has expired, who is coming to an event, or to add a new member to your club in TidyHQ. It can search and update contacts, sign people up to membership levels, change subscription periods, read events and attendee tickets, and look up invoices and groups. Club admin gets done from the chat.

Connect TidyHQ free

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

Try asking

  • “Is Peter Hansen's membership still active?”

    The AI finds Peter's contact, lists his memberships and checks the subscription periods.

  • “Sign up Anna Berg, [email protected], to the Junior membership and send her an invoice.”

    It finds the membership level, signs Anna up with payment type invoice and sends the invoice email if you ask it to.

  • “Who has unpaid tickets for Saturday's tournament?”

    It finds the event and lists attendee tickets filtered to unpaid.

What your AI can do

Contacts and groups

Search, create and update contacts, add notes, and look up contact groups.

Memberships

List membership levels and memberships, sign people up and change subscription dates or state.

Events and invoices

Read events, ticket types and attendee tickets, and list invoices with their line items.

  • “Which invoices are still unpaid?”

    It lists invoices filtered by status, with amounts, and can read the line items on any of them.

  • “Update Peter's phone number to 555 0199 and note that he prefers email.”

    It updates the contact's phone number and adds the note to his contact.

  • “Extend Anna's membership to the end of the year.”

    It finds her membership subscription and changes its end date.

65 tools for TidyHQ

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

  • add_contact_noteChanges dataAdd a note with `text` to a contact by `contact_id`.
  • archive_webhookDeletesDeactivate a webhook (webhook id). Destructive action; may require approval.
  • create_contactChanges dataCreate a contact; put the fields (e.g. first_name, last_name, email_address, phone_number, address1, city, birthday) in `body`. Search first to avoid duplicates.
  • create_contact_create_contact_linkChanges dataCreate a new contact for a contact. Required: related id or type. Search contacts first to avoid duplicates. API summary: Link two contacts.
  • create_invoiceChanges dataCreate a new invoice. Required: due date or line items. API summary: Create an Invoice.
  • create_invoice_messageChanges dataCreate a new message for a invoice. Required: text. API summary: Create Invoice Note.
  • create_membershipChanges dataSign someone up to a membership level (`membership_level_id`): set `member` (an existing contact_id or name and email), `payment_type` (paid, invoice or pay_now) and optional dates. `send_invoice_mail` and `send_welcome_mail` email the member.
  • create_subscriptionChanges dataCreate a new subscription for a subscription. Required: payment type. API summary: Renew / Create a Subscription for the given Membership.
  • create_subscription_messageChanges dataCreate a new message for a subscription. Required: text. API summary: Create Membership Note.
  • create_webhookDeletesCreate a new webhook. Destructive action; may require approval. API summary: Create a Webhook.
  • delete_contactDeletesPermanently delete a contact by contact id. Destructive action; may require approval.
  • delete_contact_messageDeletesPermanently delete a message by message id. Destructive action; may require approval. API summary: Delete Contact Note.
  • delete_invoiceDeletesPermanently delete a invoice by invoice id. Destructive action; may require approval. API summary: Delete an Invoice.
  • delete_invoice_messageDeletesPermanently delete a message by message id. Destructive action; may require approval. API summary: Delete Invoice Note.
  • delete_subscription_messageDeletesPermanently delete a message by message id. Destructive action; may require approval. API summary: Delete Membership Note.
  • delete_webhookDeletesPermanently delete a webhook by webhook id. Destructive action; may require approval.
  • get_a_subscriptionGet one subscription by subscription id. API summary: Get a Subscription.
  • get_a_subscription_within_a_membershipGet one subscription for a subscription by subscription id. API summary: Get a Subscription within a Membership.
  • get_certificateGet one certificate by certificate id. API summary: Get a Certificate.
  • get_companyGet one company by company id. API summary: Get an Associated Organisation.
  • get_contactGet one contact by `contact_id`.
  • get_contact_subscriptionGet one subscription for a contact by subscription id. API summary: Get a Membership for a specific Contact.
  • get_eventGet one event by `event_id`.
  • get_groupGet one contact group by `group_id`.
  • get_invoiceGet one invoice by `invoice_id`, with its line items and amounts.
  • get_membershipGet one membership by `membership_id`.
  • get_membership_levelGet one membership level; pass the membership level's ID as `subscription_id`.
  • get_my_contactGet the contact record of the connected TidyHQ user.
  • get_organisationGet the connected organisation's details.
  • get_packGet one pack by pack id. API summary: Get a Pack.
  • get_subscription_get_contacts_contact_id_memberships_membership_Get one subscription for a subscription by subscription id. API summary: Get a specific suscription within a specific membership / contact.
  • get_subscription_pricing_variationGet one pricing variation for a subscription by pricing variation id. API summary: Get a specific Pricing Variation for a given Membership Level.
  • get_ticketGet one ticket by ticket id. API summary: Get a Ticket.
  • get_triggered_eventGet one triggered event by triggered event id. API summary: Get a Triggered Event.
  • get_webhookGet one webhook by webhook id. API summary: Get a Webhook.
  • list_adminsList admins. Optional filters: updated since or updated before. Results are paginated. API summary: List Admins for the Current Organisation.
  • list_all_subscriptionsList subscriptions. Optional filters: updated since, updated before or active. Results are paginated. API summary: List All Subscriptions.
  • list_companiesList companies. API summary: List Associated Organisations.
  • list_company_adminsList admins for a company. Optional filters: updated since or updated before. Results are paginated. API summary: List Admins of an Associated Organization.
  • list_company_rolesList roles for a company. Optional filters: updated since or updated before. Results are paginated. API summary: List an Associated Organisations Roles.
  • list_contact_membershipsList a contact's memberships by `contact_id`.
  • list_contact_packsList packs for a contact. Optional filters: updated since, updated before, event id, status or payment. Results are paginated. API summary: List Packs a Contact Bought.
  • list_contact_ticketsList the event tickets a contact holds by `contact_id`, optionally for one `event_id`.
  • list_custom_fieldsList custom fields.
  • list_event_attendee_ticketsList the tickets issued to attendees of an event by `event_id`, filtered by `status` (activated, pending, cancelled) or `payment` (paid, unpaid).
  • list_event_packsList packs for a event. Optional filters: status or payment. Results are paginated. API summary: List Event Packs.
  • list_event_ticketsList the ticket types for an event by `event_id`.
  • list_eventsList events, paginated with `limit` and `cursor`, optionally filtered by update date.
  • list_invoicesList invoices, filtered by `status` or update date. Paginated with `limit` and `offset`.
  • list_membership_levelsList the membership levels the organisation offers.
  • list_membership_subscriptionsList the subscription periods of a membership by `membership_id`, optionally only `active` ones.
  • list_membershipsList memberships, optionally only `active` ones or those updated in a date range. Paginated with `limit` and `offset`.
  • list_rolesList roles. Optional filters: updated since or updated before. Results are paginated. API summary: List Roles for the Current Organisation.
  • list_subscription_pricing_variationsList pricing variations for a subscription. Optional filters: updated since or updated before. Results are paginated. API summary: Get the Pricing Variations for a given Membership Level.
  • list_subscriptions_for_a_given_contacts_specific_membershipList subscriptions for a subscription. Optional filters: updated since, updated before or active. Results are paginated. API summary: List Subscriptions for a given Contacts specific Membership.
  • list_triggered_eventsList triggered events. Optional filters: updated since, updated before or kinds. Results are paginated.
  • list_webhooksList webhooks.
  • remove_contact_linkDeletesPermanently delete a contact by linked contact id. Destructive action; may require approval. API summary: Remove Contact Link.
  • search_contactsSearch contacts by name or email in `search_terms`, or filter by exact first/last name, email, phone, kind or company. Set `all` to include inactive contacts. Paginated with `limit` and `offset`.
  • search_groupsSearch contact groups by `search_terms`. Paginated with `limit` and `offset`.
  • submit_webhookDeletesActivate a webhook (webhook id). Destructive action; may require approval.
  • update_contactChanges dataUpdate a contact by `contact_id`; put only the fields to change in `body`.
  • update_contact_linkChanges dataUpdate an existing contact identified by linked contact id. Only the fields you pass are changed. API summary: Update Contact Link.
  • update_invoiceChanges dataUpdate an existing invoice identified by invoice id. Only the fields you pass are changed. API summary: Update an Invoice.
  • update_membership_subscriptionChanges dataChange a membership subscription's `start_date`, `end_date` or `state` (active, partial, expired, cancelled), by `membership_id` and `subscription_id`.

Set up in three steps

  1. 1

    Pick the app

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

  2. 2

    Paste your key

    Create your own TidyHQ application, paste its Client ID and Client secret, then sign in with TidyHQ once. Sign in at dev.tidyhq.com and open Applications. Create a new application and set its redirect URI to https://heymyapps.com/oauth/callback. When TidyHQ asks during sign-in, pick your organisation.

  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 TidyHQ?

The AI can search and read contacts, groups, memberships, membership levels, events, event tickets, invoices and your organisation details. It can create and update contacts, add contact notes, sign people up to a membership level and change a subscription's dates or state.

Does the AI see my TidyHQ credentials?

No. Your Client ID, Client secret and sign-in tokens 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. Signing someone up can send invoice and welcome emails to the member, and cancelling a subscription changes their membership, so these can require your approval before they run. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then 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?

TidyHQ connects with OAuth, and OAuth connections need the HeyMyApps Pro plan or above. HeyMyApps also has a free plan with no credit card, but it does not include this connection. Paid plans bill per completed task. You also need your own TidyHQ account.

Why do I create my own TidyHQ application?

TidyHQ connects through OAuth, so HeyMyApps uses an application that you own. You create it at dev.tidyhq.com with the redirect URI https://heymyapps.com/oauth/callback, paste its Client ID and Client secret, and sign in once. You then pick which organisation the AI works in.

Let your AI work in TidyHQ today.

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

Connect TidyHQ free

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