- Brand
- ChMeetings
- Category
- Operations
- Primary Subcategory
- Enterprise Data Connectors & MCP Gateways
Integration details
Description
ChMeetings helps church staff retrieve member, family, group, event, giving, accounting, follow-up, and post data from their ChMeetings account.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Enterprise Data Connectors & MCP Gateways
- Secondary Subcategories
- None listed
- Brand
- ChMeetings
- Access
- Account required
- First tracked
- 2026-10-01
- Tool count
- 34
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Get alerts for ChMeetings
Get updates when ChMeetings’s Discoverability Score or category rank changes.
Competing in ChatGPT Enterprise Data Connectors & MCP Gateways
View Category34 tools agents can invoke
Get the churches and ministries the API key can reach — the diocese, its churches, and the ministries inside them — with pagination and optional name search. On a church account this returns the church and its ministries; on a diocese account it also returns the sibling churches. Ordered by hierarchy, then by name, so the FIRST row is the main church — the only row with no parent inside the list, and the one every tool reads when church_or_ministry_id is omitted. Read it from here when you need to tell the user which church an unscoped answer came from. THIS IS THE ONLY SOURCE of the church_or_ministry_id accepted by scope-capable tools: the id is an opaque encrypted string that cannot be guessed or built from a name. When the user names a church or ministry ("the Youth ministry"), call this, match the name, then pass the matched id as church_or_ministry_id. If two of them share a name, tell them apart by parent_id or ask the user which one they mean — never pick one silently. Do not call this when the user means the main church: omitting church_or_ministry_id already targets it. Never write "organization" or "organisation" to the user: call each one a church or a ministry, or use its own name.
get_churches_and_ministries
Get the accounting (general ledger) accounts - the bank and credit registers money sits in, e.g. "Checking", "Savings", "Credit Card". Account types are asset and liability only; income/expense classification lives on CATEGORIES, not accounts, so use get_accounting_categories for "what did we spend it on" questions. Pass include_balance=true to get each account's current running balance. Sorted by display order then name.Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_accounting_accounts
Get the accounting categories - the income and expense classifications transactions are booked against, e.g. "Utilities", "Salaries", "General Offerings". This is the chart of accounts for revenue and spending. Returned as a FLAT list with parent_category_id; the hierarchy is at most two levels deep, so reassemble it yourself if you need the tree. Use a category id as the category_ids filter of get_accounting_transactions to see everything booked to it.Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_accounting_categories
Get the accounting funds - the restricted/designated buckets money is tracked against, e.g. "General Fund", "Building Fund", "Missions". A fund answers "whose money is this", a category answers "what was it for", and an account answers "where does it physically sit". These are the general-ledger funds, which are NOT the same as the giving funds returned by the contributions tools. Pass include_balance=true for each fund's net balance across all accounts.Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_accounting_funds
Get the accounting payees - the vendors and people the church pays, e.g. "City Power & Light". Use a payee id as the payee_id filter of get_accounting_transactions to see everything paid to them. Tax identification numbers are never exposed through this API.Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_accounting_payees
Get a single ledger transaction by its ID, including its split lines with their categories and funds. Voided and opening-balance rows are returned by this tool regardless of the list filters.Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_accounting_transaction_by_id
Get ledger transactions (income and expenses) with their split lines, newest first. This is the tool for "what did we spend on X", "how much came in during Y" and register-listing questions. AMOUNTS ARE ALWAYS POSITIVE - the direction is in `type`, so to total a mixed set you must apply (type == "income" ? +amount : -amount) per row. Filters combine with AND; omit a filter to leave it unapplied. Resolve ids first: get_accounting_categories for category_ids, get_accounting_funds for fund_ids, get_accounting_payees for payee_id, get_accounting_accounts for account_id. For period activity (spending or income over a date range) pass from/to AND include_beginning_balances=false, since opening-balance rows are not activity. This one tool also serves as the category, fund and payee ledger drill-down.Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_accounting_transactions
Get all person additional fields definitions. Scope: main church only — reads the church linked to the API key and cannot be narrowed to one ministry. Never present its numbers as a ministry figure.
get_additional_fields
Get all families with optional search and paging Scope: main church only — reads the church linked to the API key and cannot be narrowed to one ministry. Never present its numbers as a ministry figure.
get_all_families
Get all pledges for a specific campaign with pagination Scope: main church only — reads the church linked to the API key and cannot be narrowed to one ministry. Never present its numbers as a ministry figure.
get_campaign_pledges
Get all campaigns from the ChMeetings API with pagination Scope: main church only — reads the church linked to the API key and cannot be narrowed to one ministry. Never present its numbers as a ministry figure.
get_campaigns
Get the cities of one state as { id, name }, optionally narrowed by search. Resolve state_id with get_states_by_country_id first. A city is narrower than a state: filtering people by city_id answers "who lives in this town", by state_id "who lives in this region". Ids come only from this chain - get_countries, then get_states_by_country_id, then get_cities_by_state_id - and feed the country_id, state_id and city_id filters of get_people. A name is never accepted where an id is asked for, and an id can never be guessed.
get_cities_by_state_id
Get all contribution batches from the ChMeetings API with pagination Scope: main church only — reads the church linked to the API key and cannot be narrowed to one ministry. Never present its numbers as a ministry figure.
get_contribution_batches
Get all contributions from the ChMeetings API with pagination and optional filtering by person_id, start_date, end_date, reference_id and batch_id Scope: main church only — reads the church linked to the API key and cannot be narrowed to one ministry. Never present its numbers as a ministry figure.
get_contributions
Get the countries reference list as { id, name }, optionally narrowed by search. This is the first step before filtering people by where they live. Ids come only from this chain - get_countries, then get_states_by_country_id, then get_cities_by_state_id - and feed the country_id, state_id and city_id filters of get_people. A name is never accepted where an id is asked for, and an id can never be guessed.
get_countries
Get event attendance statistics across a date range. Returns a per-occurrence attendance summary plus a period rollup for every materialized occurrence of the event with Day within [from, to]. Pass include=groups to add a per-group breakdown inside each occurrence. Pass the same church_or_ministry_id the event was listed under — an event id from one church or ministry is not found in another. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_event_statistics
Get events within a date range with pagination. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_events
Get a specific family by ID Scope: main church only — reads the church linked to the API key and cannot be narrowed to one ministry. Never present its numbers as a ministry figure.
get_family_by_id
Get the follow-up action categories (e.g. "First Visit") available to the church, unpaged and sorted by name. Use an action's id as the action_id filter of get_follow_ups. Each church and ministry has its own set of actions, so read them under the same church_or_ministry_id you will filter with. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_follow_up_actions
Get a single follow-up (pastoral follow-up task) by its ID, including its assignees, status, type, notes and completion details. Pass the same church_or_ministry_id the follow-up was listed under — an id from one church or ministry is not found in another. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_follow_up_by_id
Get follow-ups (pastoral follow-up tasks) with pagination and optional filters. A follow-up is a task to follow up with a specific person, optionally assigned to responsible people ("assignees") and categorized by a follow-up action. Filters combine with AND; omit a filter to leave it unapplied. To find follow-ups for a specific person, first resolve the person with get_people, then pass person_id. For overdue follow-ups use status=pending with to=<today>. Results are sorted by scheduled date descending. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_follow_ups
Get all groups from the ChMeetings API, optionally narrowed by name with search_text. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_groups
Retrieve all public notes for a specific person with paging Scope: main church only — reads the church linked to the API key and cannot be narrowed to one ministry. Never present its numbers as a ministry figure.
get_member_notes
Get all members who do not have an envelope number assigned. Scope: main church only — reads the church linked to the API key and cannot be narrowed to one ministry. Never present its numbers as a ministry figure.
get_no_envelope_members
Get the paginated attendance list for an occurrence. The occurrence_id may be a materialized (numeric) or virtual occurrence ID. Narrow the list by attendance status, by a single group with group_id, or to attendees in no group at all with ungrouped=true — group_id and ungrouped are mutually exclusive. Pass the same church_or_ministry_id the occurrence belongs to. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_occurrence_attendance
Get people from the ChMeetings API with paging and filters. Filters combine with AND; omit one to leave it unapplied. Filter server-side rather than paging through everyone and sifting: every page carries whole profiles. For a count, apply the filters and read `totalResults` - that is the match across all pages, while the rows returned are one page of it. Resolve ids first: get_groups for group_ids, and get_countries / get_states_by_country_id / get_cities_by_state_id for country_id, state_id and city_id. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_people
Get the people who belong to one or more groups, with the group each membership is in. Resolve the group ids with get_groups under the same scope first. group_ids is required and there is no all-groups mode: omitting it returns an "Invalid Group Ids" error rather than everyone. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_people_in_groups
Get a person by their ID. Scope: main church only — reads the church linked to the API key and cannot be narrowed to one ministry. Never present its numbers as a ministry figure.
get_person_by_id
Get the post categories - the topics posts are filed under, e.g. "Announcements", "Events". Use this to turn the category_ids on a post into names. Each church and ministry has its own categories, so read them under the same church_or_ministry_id you read the posts under. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_post_categories
Get the comments on a specific post, with the author of each. Find the post id with get_posts first. A post with allow_comments=false returns no comments. Pass the same church_or_ministry_id the post was listed under — a post id from one church or ministry is not found in another. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_post_comments
Get the likes on a specific post, with the person behind each one. Find the post id with get_posts first. A post with allow_likes=false returns no likes. Pass the same church_or_ministry_id the post was listed under — a post id from one church or ministry is not found in another. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_post_likes
Get the church posts (announcements and news published to the app feed), newest first. Filter by status (draft/published) and by a published_on date range. Each post carries likes_count and comments_count; use get_post_comments and get_post_likes to see who commented or liked. Categories come back as ids only - resolve their names with get_post_categories. Scope: omit church_or_ministry_id to read the main church linked to the API key, or pass an id from get_churches_and_ministries to read one church or ministry. The response echoes the scope it read as `scope` — report figures against that, not against the church the user assumed.
get_posts
Get the states (provinces, governorates) of one country as { id, name }, optionally narrowed by search. Resolve country_id with get_countries first. Ids come only from this chain - get_countries, then get_states_by_country_id, then get_cities_by_state_id - and feed the country_id, state_id and city_id filters of get_people. A name is never accepted where an id is asked for, and an id can never be guessed.
get_states_by_country_id
Get every church and ministry one person belongs to, with pagination. Main-church entries come first. Resolve the person with get_people first to get their person_id. Use this to answer "which ministries is X in?", and to pick the church_or_ministry_id for a scoped call about that person — it is narrower than get_churches_and_ministries when the question is already about one person. Never write "organization" or "organisation" to the user: call each one a church or a ministry, or use its own name.
get_person_churches_and_ministries
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are ChMeetings alternatives on ChatGPT?
As of 2026-10-01, ChMeetings competes with Airbyte Agent Engine, Artie, Atlassian Rovo, CData Connect AI, CedarAI Data Depot, Conduit, CorpusIQ, Extract, Links Connect, MarcoPolo, Opscotch, Sugra API, WPVibe in ChatGPT Enterprise Data Connectors & MCP Gateways, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.