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 usUse Cases
Why integrate with Membes
Common scenarios for SaaS companies building Membes integrations for their customers.
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.
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.
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.
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.
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.
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.
Event and registration management
List events by date range, create new events with registration types, and register members programmatically from your app.
Real-time updates via webhooks
Subscribe to Membes webhooks to receive profile, event, and interaction changes as they happen instead of polling.
CPD activity tracking
Create, update, list, and delete CPD activity logs against Membes activities and categories from your learning or compliance workflow.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.