Skip to content

CRM · Beta

Membes
API integration

Ship CRM features without building the integration. Full Membes API access via Proxy and 50+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Membes

Use Cases

Why integrate with Membes

Common scenarios for SaaS companies building Membes integrations for their customers.

01

Enrich member profiles inside your product

For SaaS platforms serving associations and member-based organizations, pulling Membes profile data lets you personalize your app with membership type, custom fields, and interaction history without asking users to re-enter it.

02

Sync event registrations to your workflow tools

Marketing, analytics, and engagement platforms can automatically ingest Membes events and registrations so their users can trigger campaigns, reporting, or attendee follow-ups based on real registration activity.

03

Log CPD activity from your learning platform

LMS and education SaaS products can write CPD activity logs back to Membes when a member completes a course, so professional development records stay accurate without manual entry.

04

Publish news and forum content from a central CMS

Content and community tools can push news articles, forum topics, and replies into Membes, letting their customers manage member-facing content from one place instead of jumping between systems.

05

Power member directories and lookups in your app

Networking, benefits, and portal SaaS products can surface searchable Membes directories inside their own UI, respecting the association's display settings and filters.

What You Can Build

Ship these features with Truto + Membes

Concrete product features your team can ship faster by leveraging Truto’s Membes integration instead of building from scratch.

01

Two-way profile sync

Read, create, and update Membes profiles with support for custom fields so member data stays consistent between your product and Membes.

02

Event and registration management

List events by date range, create new events with registration types, and register members programmatically from your app.

03

Real-time updates via webhooks

Subscribe to Membes webhooks to receive profile, event, and interaction changes as they happen instead of polling.

04

CPD activity tracking

Create, update, list, and delete CPD activity logs against Membes activities and categories from your learning or compliance workflow.

05

Forum and news publishing

Create forum topics and replies, publish news articles, and list categories so your product can drive engagement inside the member community.

06

Directory search embedded in your UI

Query Membes directories with the same filters and display settings the association configured, powering member lookup screens natively in your app.

SuperAI

Membes AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

membes_token_get_access_token

Generate access token. This endpoint returns a JWT access token on success. An empty JSON object is returned on failure. Returns: access_token. Required: org_id, secret.

membes_token_validate

Validate access token. This endpoint returns a JWT access token on success. An empty JSON object is returned on failure. Returns: membership_status, membership_type, surname, first_name, id, profile_number, membership_type_id, membership_status_id, email. Required: token_to_validate.

get_single_membes_profile_by_id

Get Profile Detail. Returns: profile_details, groups, custom_fields, address. Required: id.

create_a_membes_profile

This endpoint adds a new profile. Required: first_name, surname.

update_a_membes_profile_by_id

This endpoint update a profile. Required: id, first_name, surname.

membes_profiles_get_events

Get Events of a Profile (last 12 months). Required: profile_id.

membes_profiles_search

Search for profiles that matches the search criteria. Profile can be search base on either: - email - radius from a given location - custom field Only one of the search criteria will be used (if more than 1 criteria are given, the rest will be ignored). Returns: profile_number, informal_name, previous_name, surname, dob, company_name, first_name, id, middle_name, membership_paid_through, email.

create_a_membes_profile_interaction

Add interaction records to a profile. profile_interaction_object. Returns: status, interaction_id. Required: profile_id.

get_single_membes_profile_interaction_by_id

Get Profile Interaction. Required: profile_id, type_id.

get_single_membes_event_by_id

This endpoint will retrieve an event detail by its ID. Required: id.

membes_events_get_registration_types

Get Event Registration Type. Returns: event_id, id, type, description. Required: id.

create_a_membes_event

Create a new event.

membes_events_list_by_date_range

Get a List of Events by Date Range. Returns: event_object, content_category_helper, member_only, page_registrations_full, custom_fields_event, registration_open, zoom_id, code, account_code, timezone, registration_open_from, template_id, social_function_pre_text, group_id, attachment_text, . Required: start_date, end_date.

create_a_membes_event_registration_type

Create registration types. Create new event registration types for an event.

create_a_membes_event_registration

Register an existing user for an event. Returns: registrant_id, success. Required: event_id, profile_id, registration_type.

update_a_membes_event_registration_by_id

Update the event registration for a user. Returns: registrant_id, success.

list_all_membes_group_events

Get a list of Event by Group. Returns: content_category_helper, member_only, page_registrations_full, custom_fields_event, registration_open, zoom_id, code, account_code, timezone, registration_open_from, template_id, social_function_pre_text, group_id, attachment_text, cpd_auto_log, . Required: group_id.

list_all_membes_group_topics

Get a list of Forum Topics by Group. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id. Required: group_id.

list_all_membes_group_replies

Get a List of Topic Replies by Group. Returns: topic_id, enabled, profile_id, attachment, id, body, tstamp, org_id. Required: group_id.

list_all_membes_groups

Retrieve a list of all profile groups and their members. Returns: group_name, group_id, members.

list_all_membes_membership_types

Get a list of membership types. Returns: id, title, description, registration_link, prices, label, price.

list_all_membes_custom_fields

Get a list of custom fields. Returns: id, type, label.

get_single_membes_forum_topic_by_id

Get a Forum Topic. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id. Required: id.

list_all_membes_forum_topics

Get a List of Forum Topic. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id.

create_a_membes_forum_topic

Create a new forum topic Create a new topic in the discussion forum. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id. Required: category_id, title, body, enabled.

list_all_membes_forum_replies

Get a List of Forum Topic Replies. Returns: topic_reply_object, topic_id, enabled, profile_id, attachment, id, body, tstamp, org_id. Required: topic_id.

create_a_membes_forum_reply

Create a forum topic reply Create a reply to a topic in the discussion forum. Returns: topic_id, enabled, profile_id, attachment, id, body, tstamp, org_id. Required: topic_id, body, enabled.

list_all_membes_forum_categories

Get Forum Categories. Returns: org_id, id, title, description.

get_single_membes_news_by_id

Get News. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: id.

membes_news_list_published

Get published News. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: news_count.

list_all_membes_news

Get All News. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: news_count.

create_a_membes_news

Create news item Create a news item. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image.

update_a_membes_news_by_id

Update news item Update a news item. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: id.

membes_cms_themes_save

Save website theme Create a CMS theme. Required: theme_id.

get_single_membes_ad_by_id

Get Employment Ads. Returns: is_enabled, date_posted, address_state, job_description_page, job_title, address_postcode, organisation, fax, job_code, attachment, image, scheduled_removal, id, address_city, website, . Required: id.

membes_ads_list_published

Get Published Employment Ads. Returns: is_enabled, date_posted, address_state, job_description_page, job_title, address_postcode, organisation, fax, job_code, attachment, image, scheduled_removal, id, address_city, website, . Required: ads_count.

list_all_membes_ads

Get All Employment Ads. Returns: is_enabled, date_posted, address_state, job_description_page, job_title, address_postcode, organisation, fax, job_code, attachment, image, scheduled_removal, id, address_city, website, . Required: ads_count.

create_a_membes_cpd_activity_log

Create CPD activity log. Create a CPD activity log on a profile. Required: name, category_id, date, profile, activity.

list_all_membes_cpd_activity_logs

Get CPD Activity Log. Required: profile_id.

update_a_membes_cpd_activity_log_by_id

Update CPD activity log. Update CPD activities logged on a profile. Required: id, name, category_id, date, activity.

delete_a_membes_cpd_activity_log_by_id

Delete a CPD Activity Log. Required: profile_id, log_id.

list_all_membes_cpd_activities

Get Available CPD Activities. Returns: category_id, cap_points2, min_points2, min_points5, points, can_submit_online, min_points3, min_points4, cap_points5, requires_audit, min, min_hours, code, cap, id, ...

list_all_membes_cpd_categories

Get a list of CPD categories. Returns: org_id, reference_id, description.

list_all_membes_lookups

Get a list of Countries or States. Required: type.

list_all_membes_webhooks

get a list of webhook. Returns: org_id, id, webhook_type, webhook.

membes_webhooks_subscribe

Subscribe to a webhook. Returns: org_id, id, type, webhook. Required: type, hook_url.

membes_webhooks_unsubscribe

Unsubscribe from a webhook. Required: id.

list_all_membes_batch_profiles

profiles. Returns: profile_id, profile_number, prefix_id, first_name, middle_name, surname, informal_name, gender, dob, company_name, email, email2, phone_home_country_code, phone_home, phone_work_country_code, . Required: last_updated.

list_all_membes_batch_profile_interactions

profile_interactions. Returns: profile_id, interaction_type_id, interaction_id, title, description, interaction_logged_date, interaction_logged_by, action, action_date, action_assigned_to, action_completed, interaction_invoice_number. Required: last_updated.

list_all_membes_batch_news

news. Returns: org_id, news_id, news_title, news_introduction, news_page_body, news_url, news_url_text, news_pub_date, news_exp_date. Required: last_updated.

list_all_membes_batch_invoices

invoices. Returns: org_id, invoice_id, invoice_date, profile_id, invoice_name, invoice_organisation, invoice_address_1, invoice_address_2, invoice_address_3, invoice_suburb, invoice_postcode, state_id, country_id, invoice_paid_date, invoice_items, . Required: last_updated.

list_all_membes_states

get list of states. Returns: state_id, state_name. Required: state_id.

list_all_membes_countries

get list of countries. Returns: country_id, country_name. Required: country_id.

list_all_membes_profile_interaction_types

profile_interaction_types. Returns: interaction_type_id, interaction_type_title. Required: interaction_type_id.

membes_directories_get_filters

Get the list of filters and export options for a specific directory. Returns: show_map, export_excel, export_pdf, location_based, filters. Required: directory_id.

membes_directories_get_display_settings

Get the display settings and layout configurations for a specific directory, including system fields, basic settings, summary and page field layouts, and available filters. Required: directory_id.

membes_directories_search

Search for profiles in a directory based on filter and location parameters. Required: directory_id.

membes_profile_directories_search

Search Profile Directories Map. Search profile directories using filters, search-system fields, proximity parameters, and optional map-only results. Required: directoryID, show_map_only.

Why Truto

Why use Truto’s MCP server for Membes

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Membes in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Membes account

Use Truto’s frontend SDK to connect your customer’s Membes account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Membes

Truto’s Proxy API is a 1-to-1 mapping of the Membes API. You call us, we call Membes, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Membes’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Membes on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication with Membes work through Truto?

Truto handles token acquisition and validation with Membes on behalf of your end users, so you don't need to manage access token lifecycles or refresh logic in your codebase.

Can we read and write custom fields on member profiles?

Yes. You can list all Membes custom fields and include them when creating or updating profiles, so association-specific data flows both ways.

How do we keep data fresh without constant polling?

Membes supports webhooks, and Truto exposes subscribe and unsubscribe operations plus a list of active subscriptions so you can react to changes in near real time.

Is there a way to bulk-load historical data?

Yes. Batch endpoints are available for profiles, profile interactions, news, and invoices, which are useful for initial backfills or periodic reconciliation.

Can we manage events end-to-end?

You can create events, define registration types, create and update registrations, list events by date range, and fetch a single event by ID — enough to run a full registration flow from your product.

What member reference data can we pull for form building?

You can list membership types, states, countries, profile interaction types, CPD categories and activities, and generic lookups to populate dropdowns and validate input in your UI.

Membes

Get Membes integrated into your app

Our team understands what it takes to make a Membes integration successful. A short, crisp 30 minute call with folks who understand the problem.