Planning Center MCP connector
OAuth 2.1/DCRProductivityCalendarCRM & SalesPlanning Center is a church management platform with modules for people (contact database), giving, check-ins, services planning, groups, registrations...
Planning Center MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'planningcentermcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Planning Center MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'planningcentermcp_groups_search',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "planningcentermcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Planning Center MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="planningcentermcp_groups_search",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Teams services — Search teams in Planning Center Services
- Positions services team — Search the team positions within a service type in Planning Center Services
- Songs services — Search the Planning Center Services song library
- Types services service, groups group — Search for service types
- Schedules services — Retrieve a person’s schedule in Planning Center Services — the worship service plans they are scheduled to serve in
- Plans services — Search plans within a Planning Center Services service type
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
planningcentermcp_groups_event_attendances#Look up individual attendance records for a single event in Planning Center Groups - whether each person attended and their role (member, leader, visitor, or applicant) at the time of the event.8 params
Look up individual attendance records for a single event in Planning Center Groups - whether each person attended and their role (member, leader, visitor, or applicant) at the time of the event.
event_idintegerrequiredThe ID of the event to look up attendance records for.filterstringoptionalFilter attendance records. Use 'attended' to return only people who attended.includearrayoptionalRelated resources to include in the response.order_bystringoptionalField to order results by. Prefix with '-' for descending order.output_fieldsarrayoptionalList of fields to include in the response.page_afterstringoptionalCursor for pagination. Use the value returned in the previous response to get the next page.per_pageintegeroptionalNumber of results to return per page (1-100, default 10).rolestringoptionalFilter attendance records by the role of the attendee.planningcentermcp_groups_events#Search events in Planning Center Groups. An event is a single meeting of a group with a start and end time, an optional location, and a cancellation status. By default searches events across every group. Provide group_id or person_id to list events for a specific group or person.15 params
Search events in Planning Center Groups. An event is a single meeting of a group with a start and end time, an optional location, and a cancellation status. By default searches events across every group. Provide group_id or person_id to list events for a specific group or person.
campus_idsarrayoptionalFilter events by one or more campus IDs.ends_at_endstringoptionalReturn events that end on or before this date (ISO 8601 date format).ends_at_startstringoptionalReturn events that end on or after this date (ISO 8601 date format).filterstringoptionalFilter events by cancellation status.group_idintegeroptionalFilter events to a specific group by its ID.group_type_idsarrayoptionalFilter events by one or more group type IDs.includearrayoptionalRelated resources to include in the response.namestringoptionalSearch events by name.order_bystringoptionalField to order results by. Prefix with '-' for descending order.output_fieldsarrayoptionalList of fields to include in the response (e.g. id, name, description, starts_at, ends_at, canceled).page_afterstringoptionalCursor for pagination. Use the value returned in the previous response to get the next page.per_pageintegeroptionalNumber of results to return per page.person_idintegeroptionalFilter events to a specific person by their ID.starts_at_endstringoptionalReturn events that start on or before this date (ISO 8601 date format).starts_at_startstringoptionalReturn events that start on or after this date (ISO 8601 date format).planningcentermcp_groups_group_types#List or fetch group type categories (e.g. "Small Groups", "Classes") from Planning Center Groups. Group types define the default settings, visibility, and color theme for the groups within them.5 params
List or fetch group type categories (e.g. "Small Groups", "Classes") from Planning Center Groups. Group types define the default settings, visibility, and color theme for the groups within them.
idintegeroptionalFetch a specific group type by its ID.order_bystringoptionalField to order results by. Prefix with '-' for descending order.output_fieldsarrayoptionalList of fields to include in the response (e.g. id, name, color, church_center_map_visible).page_afterstringoptionalCursor for pagination. Use the value returned in the previous response to get the next page.per_pageintegeroptionalNumber of results to return per page.planningcentermcp_groups_memberships#Look up group memberships in Planning Center Groups - the association of a person to a group, with the member's role and the date they joined. Provide exactly one of group_id (to list a group's members) or person_id (to list the groups a person belongs to).8 params
Look up group memberships in Planning Center Groups - the association of a person to a group, with the member's role and the date they joined. Provide exactly one of group_id (to list a group's members) or person_id (to list the groups a person belongs to).
group_idintegeroptionalList members of a specific group by its ID. Provide either group_id or person_id, not both.includearrayoptionalRelated resources to include in the response.order_bystringoptionalField to order results by. Prefix with '-' for descending order.output_fieldsarrayoptionalList of fields to include in the response (e.g. id, joined_at, role).page_afterstringoptionalCursor for pagination. Use the value returned in the previous response to get the next page.per_pageintegeroptionalNumber of results to return per page.person_idintegeroptionalList groups that a specific person belongs to, by their ID. Provide either group_id or person_id, not both.rolestringoptionalFilter memberships by role.planningcentermcp_groups_search#Search for groups. Groups are collections of people that meet together regularly (small groups, classes, Bible studies, etc.). Returns details like name, description, schedule, contact email, and membership count.12 params
Search for groups. Groups are collections of people that meet together regularly (small groups, classes, Bible studies, etc.). Returns details like name, description, schedule, contact email, and membership count.
archive_statusstringoptionalControl whether archived groups are included. Use 'not_archived' (default), 'only' for archived only, or 'include' to include both.campus_idsarrayoptionalFilter groups by one or more campus IDs.enrollment_statusarrayoptionalFilter groups by enrollment status.filterstringoptionalAdditional filter options for groups.group_type_idsarrayoptionalFilter groups by one or more group type IDs.idsarrayoptionalFilter groups to specific IDs.includearrayoptionalRelated resources to include in the response.namestringoptionalSearch groups by name.order_bystringoptionalField to order results by. Prefix with '-' for descending order.output_fieldsarrayoptionalList of fields to include in the response.page_afterstringoptionalCursor for pagination. Use the value returned in the previous response to get the next page.per_pageintegeroptionalNumber of results to return per page.planningcentermcp_people_background_checks#Search for background checks. Optionally filter by a specific person using person_id. Current denotes the background check that best represents a person's current standing.11 params
Search for background checks. Optionally filter by a specific person using person_id. Current denotes the background check that best represents a person's current standing.
expires_on_endstringoptionalFilter background checks that expire on or before this date (ISO 8601 date format).expires_on_startstringoptionalFilter background checks that expire on or after this date (ISO 8601 date format).filterarrayoptionalFilter background checks by status.includearrayoptionalRelated resources to include in the response.order_bystringoptionalField to order results by. Prefix with '-' for descending order.output_fieldsarrayoptionalList of fields to include in the response.page_afterstringoptionalCursor for pagination. Use the value returned in the previous response to get the next page.per_pageintegeroptionalNumber of results to return per page.person_idintegeroptionalFilter background checks by a specific person's ID.status_updated_at_endstringoptionalFilter background checks whose status was updated on or before this date (ISO 8601 date format).status_updated_at_startstringoptionalFilter background checks whose status was updated on or after this date (ISO 8601 date format).planningcentermcp_people_church_campuses#List the church campuses (physical sites) configured for the organization. The returned campus IDs are what campus_id/campus_ids filters on other tools expect.10 params
List the church campuses (physical sites) configured for the organization. The returned campus IDs are what campus_id/campus_ids filters on other tools expect.
created_at_endstringoptionalFilter campuses created on or before this date (ISO 8601 date format).created_at_startstringoptionalFilter campuses created on or after this date (ISO 8601 date format).idsarrayoptionalFilter to specific campus IDs.includearrayoptionalRelated resources to include in the response.order_bystringoptionalField to order results by. Prefix with '-' for descending order.output_fieldsarrayoptionalList of fields to include in the response (e.g. name, city, state, zip, time_zone).page_afterstringoptionalCursor for pagination. Use the value returned in the previous response to get the next page.per_pageintegeroptionalNumber of results to return per page.updated_at_endstringoptionalFilter campuses updated on or before this date (ISO 8601 date format).updated_at_startstringoptionalFilter campuses updated on or after this date (ISO 8601 date format).planningcentermcp_people_current_organization#Get information about the authenticated user's organization.1 param
Get information about the authenticated user's organization.
output_fieldsarrayoptionalList of fields to include in the response (e.g. name, avatar_url, church_center_subdomain, country_code, time_zone, date_format, created_at).planningcentermcp_people_field_data#Search custom field data — the actual values of custom fields on people's profiles. Each field datum is tied to a field definition, which belongs to a custom tab. Use this to look up the values of custom fields for people.11 params
Search custom field data — the actual values of custom fields on people's profiles. Each field datum is tied to a field definition, which belongs to a custom tab. Use this to look up the values of custom fields for people.
field_definition_idintegeroptionalFilter field data to a specific field definition by its ID.file_content_typestringoptionalFilter field data by file content type (for file-type fields).file_namestringoptionalFilter field data by file name (for file-type fields).file_sizeintegeroptionalFilter field data by file size in bytes (for file-type fields).includearrayoptionalRelated resources to include in the response.order_bystringoptionalField to order results by. Prefix with '-' for descending order.output_fieldsarrayoptionalList of fields to include in the response (e.g. id, file, file_content_type, file_name, file_size, value).page_afterstringoptionalCursor for pagination. Use the value returned in the previous response to get the next page.per_pageintegeroptionalNumber of results to return per page.person_idintegeroptionalFilter field data to a specific person by their ID.valuestringoptionalFilter field data by value.planningcentermcp_people_field_definitions#Search the custom field definitions configured for the organization. A field definition represents a custom field — its name, data type, sequence, and which tab it belongs to. Use this to discover what custom fields exist on people profiles, then read a person's values with people_field_data.11 params
Search the custom field definitions configured for the organization. A field definition represents a custom field — its name, data type, sequence, and which tab it belongs to. Use this to discover what custom fields exist on people profiles, then read a person's values with people_field_data.
data_typestringoptionalFilter field definitions by data type.filterstringoptionalAdditional filter options. Use 'include_deleted' to include soft-deleted field definitions.idsarrayoptionalFilter to specific field definition IDs.includearrayoptionalRelated resources to include in the response.namestringoptionalSearch field definitions by name.order_bystringoptionalField to order results by. Prefix with '-' for descending order.output_fieldsarrayoptionalList of fields to include in the response (e.g. id, config, data_type, deleted_at, name, sequence, slug, tab_id).page_afterstringoptionalCursor for pagination. Use the value returned in the previous response to get the next page.per_pageintegeroptionalNumber of results to return per page.slugstringoptionalFilter field definitions by slug.tab_idintegeroptionalFilter field definitions to a specific custom tab by its ID.planningcentermcp_people_form_fields#Search the fields that make up a specific people form. Each form field describes a single input on the form, including its label, field type, whether it is required, and its display order. Requires a form_id. Use to understand a form's structure before reading submissions.6 params
Search the fields that make up a specific people form. Each form field describes a single input on the form, including its label, field type, whether it is required, and its display order. Requires a form_id. Use to understand a form's structure before reading submissions.
form_idstringrequiredThe ID of the form whose fields should be retrieved.includearrayoptionalRelated resources to include in the response.order_bystringoptionalField to sort results by. Prefix with '-' for descending order.output_fieldsarrayoptionalFields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page (1–100). Defaults to 10.planningcentermcp_people_form_submissions#Search for people form submissions. A form submission represents an individual person's response to a specific people form. Use people_form_fields to see the questions.11 params
Search for people form submissions. A form submission represents an individual person's response to a specific people form. Use people_form_fields to see the questions.
form_idstringrequiredThe ID of the form whose submissions should be retrieved.created_at_endstringoptionalReturn submissions created on or before this date (ISO 8601).created_at_startstringoptionalReturn submissions created on or after this date (ISO 8601).includearrayoptionalRelated resources to include in the response.order_bystringoptionalField to sort results by. Prefix with '-' for descending order.output_fieldsarrayoptionalFields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page (1–100). Defaults to 10.person_idsarrayoptionalFilter submissions to these person IDs.updated_at_endstringoptionalReturn submissions updated on or before this date (ISO 8601).updated_at_startstringoptionalReturn submissions updated on or after this date (ISO 8601).planningcentermcp_people_form_submissions_create#Record a submission to a people form, for submissions captured outside of Church Center (e.g. a paper form). The caller must be able to manage the target form. Identify the submitter with either person_id (existing person) or person_attributes. Submitting triggers notification/confirmation emails, workflow cards, and profile updates.4 params
Record a submission to a people form, for submissions captured outside of Church Center (e.g. a paper form). The caller must be able to manage the target form. Identify the submitter with either person_id (existing person) or person_attributes. Submitting triggers notification/confirmation emails, workflow cards, and profile updates.
form_idstringrequiredThe ID of the form to submit.person_attributesobjectoptionalSubmitter details when person_id is unknown. Required fields: first_name, last_name, email.person_idstringoptionalID of an existing person to associate with the submission. Use this or person_attributes, not both.valuesarrayoptionalArray of form field responses. Each entry maps a form_field_id to its submitted value.planningcentermcp_people_forms#Search for people forms. Forms is a tool for gathering information from people via customizable online forms.9 params
Search for people forms. Forms is a tool for gathering information from people via customizable online forms.
campus_idstringoptionalFilter forms by campus ID.filterstringoptionalFilter forms by status.idsarrayoptionalFilter to specific form IDs.includearrayoptionalRelated resources to include in the response.namestringoptionalFilter forms by name (partial match).order_bystringoptionalField to sort results by. Prefix with '-' for descending order.output_fieldsarrayoptionalFields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page (1–100). Defaults to 10.planningcentermcp_people_households#Search households — groups of people who live together (typically a family), each with a primary contact. Filter by household or primary-contact name.11 params
Search households — groups of people who live together (typically a family), each with a primary contact. Filter by household or primary-contact name.
created_at_endstringoptionalReturn households created on or before this date (ISO 8601).created_at_startstringoptionalReturn households created on or after this date (ISO 8601).includearrayoptionalRelated resources to include in the response.namestringoptionalFilter households by name (partial match).order_bystringoptionalField to sort results by. Prefix with '-' for descending order.output_fieldsarrayoptionalFields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page (1–100). Defaults to 10.primary_contact_namestringoptionalFilter households by the name of the primary contact.updated_at_endstringoptionalReturn households updated on or before this date (ISO 8601).updated_at_startstringoptionalReturn households updated on or after this date (ISO 8601).planningcentermcp_people_list_results#Retrieves the people that appear in a specific Planning Center People list. Requires a list_id (find one via people_lists).6 params
Retrieves the people that appear in a specific Planning Center People list. Requires a list_id (find one via people_lists).
list_idstringrequiredThe ID of the list whose members should be retrieved.order_bystringoptionalField to sort results by. Prefix with '-' for descending order.output_fieldsarrayoptionalFields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page (1–100). Defaults to 10.person_idstringoptionalFilter results to a specific person ID.planningcentermcp_people_lists#Search for people lists. A list is a powerful tool for finding and grouping people together. To get the people in a list, use people_list_results.12 params
Search for people lists. A list is a powerful tool for finding and grouping people together. To get the people in a list, use people_list_results.
campus_idstringoptionalFilter lists by campus ID.created_at_endstringoptionalReturn lists created on or before this date (ISO 8601).created_at_startstringoptionalReturn lists created on or after this date (ISO 8601).idsarrayoptionalFilter to specific list IDs.includearrayoptionalRelated resources to include in the response.namestringoptionalFilter lists by name (partial match).order_bystringoptionalField to sort results by. Prefix with '-' for descending order.output_fieldsarrayoptionalFields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page (1–100). Defaults to 10.updated_at_endstringoptionalReturn lists updated on or before this date (ISO 8601).updated_at_startstringoptionalReturn lists updated on or after this date (ISO 8601).planningcentermcp_people_note_categories#Search note categories in Planning Center People. Note categories organize and classify notes on people profiles.6 params
Search note categories in Planning Center People. Note categories organize and classify notes on people profiles.
includearrayoptionalRelated resources to include in the response.namestringoptionalFilter note categories by name (partial match).order_bystringoptionalField to sort results by. Prefix with '-' for descending order.output_fieldsarrayoptionalFields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page (1–100). Defaults to 10.planningcentermcp_people_notes#Search for notes attached to people's profiles. A note is text with a category connected to a person's profile.8 params
Search for notes attached to people's profiles. A note is text with a category connected to a person's profile.
includearrayoptionalRelated resources to include in the response.notestringoptionalFilter notes by content text (partial match).note_category_idstringoptionalFilter notes by note category ID.order_bystringoptionalField to sort results by. Prefix with '-' for descending order.output_fieldsarrayoptionalFields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page (1–100). Defaults to 10.person_idstringoptionalFilter notes to a specific person ID.planningcentermcp_people_notes_create#Create a note on a person's profile. A note is text filed under a note category and attached to a specific person. Use people_notes to read existing notes and people_note_categories to discover which category to file the note under.4 params
Create a note on a person's profile. A note is text filed under a note category and attached to a specific person. Use people_notes to read existing notes and people_note_categories to discover which category to file the note under.
notestringrequiredThe text content of the note.note_category_idstringrequiredThe ID of the note category to file this note under. Use people_note_categories to find valid IDs.person_idstringrequiredThe ID of the person to attach the note to.display_datestringoptionalOptional date the note should be displayed under (ISO 8601 date format).planningcentermcp_people_search#Search for people by name, contact info, status, campus, membership, and more.22 params
Search for people by name, contact info, status, campus, membership, and more.
age_typestringoptionalFilter by age type: child or adult.campus_idsarrayoptionalFilter by one or more campus IDs.created_at_endstringoptionalReturn people created on or before this date (ISO 8601).created_at_startstringoptionalReturn people created on or after this date (ISO 8601).emailstringoptionalFilter by email address.first_namestringoptionalFilter by first name (partial match supported).genderstringoptionalFilter by gender: Male, Female, or Unspecified.gradeintegeroptionalFilter by school grade (-1 for pre-K, 0 for kindergarten, 1–12 for grades 1–12).idsarrayoptionalFilter by one or more person IDs.inactivated_at_endstringoptionalReturn people inactivated on or before this date (ISO 8601).inactivated_at_startstringoptionalReturn people inactivated on or after this date (ISO 8601).includearrayoptionalRelated resources to include in the response.last_namestringoptionalFilter by last name (partial match supported).membership_typestringoptionalFilter by membership type name.order_bystringoptionalSort order for results.output_fieldsarrayoptionalList of fields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page (1–100, default 10).phone_numberstringoptionalFilter by phone number.statusstringoptionalFilter by person status: active or inactive.updated_at_endstringoptionalReturn people updated on or before this date (ISO 8601).updated_at_startstringoptionalReturn people updated on or after this date (ISO 8601).planningcentermcp_people_tabs#Search people custom tabs. A tab groups field definitions on the profile (e.g., 'Volunteer Info', 'Church Info'). Tabs contain field definitions which describe the custom fields whose per-person values come from people_field_data.7 params
Search people custom tabs. A tab groups field definitions on the profile (e.g., 'Volunteer Info', 'Church Info'). Tabs contain field definitions which describe the custom fields whose per-person values come from people_field_data.
idsarrayoptionalFilter by one or more tab IDs.namestringoptionalFilter by tab name.order_bystringoptionalSort order for results.output_fieldsarrayoptionalList of fields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page.slugstringoptionalFilter by tab slug (URL-safe identifier).planningcentermcp_people_workflow_cards#Search people workflow cards. Cards are workflow steps assigned to a staff member to perform for a specific person. Requires a workflow_id (find one via people_workflows).11 params
Search people workflow cards. Cards are workflow steps assigned to a staff member to perform for a specific person. Requires a workflow_id (find one via people_workflows).
workflow_idstringrequiredThe ID of the workflow to search cards within. Required. Use people_workflows to find a workflow ID.after_moved_to_step_atstringoptionalReturn cards moved to their current step on or after this date (ISO 8601).assignee_idsarrayoptionalFilter by one or more assignee person IDs.includearrayoptionalRelated resources to include in the response.order_bystringoptionalSort order for results.output_fieldsarrayoptionalList of fields to include in the response.overduebooleanoptionalFilter for overdue cards. Only supports true.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page.stagestringoptionalFilter cards by stage: ready, snoozed, completed, or removed.step_idsarrayoptionalFilter by one or more workflow step IDs.planningcentermcp_people_workflow_categories#Search the categories that organize people workflows. Use this to find a category by name; then filter people_workflows by its workflow_category_id.5 params
Search the categories that organize people workflows. Use this to find a category by name; then filter people_workflows by its workflow_category_id.
idsarrayoptionalFilter by one or more workflow category IDs.namestringoptionalFilter by category name.order_bystringoptionalSort order for results.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page.planningcentermcp_people_workflows#Search for people workflows. A workflow consists of a series of steps to complete a specific task. Steps consist of cards assigned to a staff member for a specific person. Use people_workflow_cards for per-person cards, and people_workflow_categories for categories.14 params
Search for people workflows. A workflow consists of a series of steps to complete a specific task. Steps consist of cards assigned to a staff member for a specific person. Use people_workflow_cards for per-person cards, and people_workflow_categories for categories.
campus_idstringoptionalFilter by campus ID.created_at_endstringoptionalReturn workflows created on or before this date (ISO 8601).created_at_startstringoptionalReturn workflows created on or after this date (ISO 8601).filterarrayoptionalPredefined filters to narrow results.idsarrayoptionalFilter by one or more workflow IDs.includearrayoptionalRelated resources to include in the response.namestringoptionalFilter by workflow name.order_bystringoptionalSort order for results.output_fieldsarrayoptionalList of fields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page.updated_at_endstringoptionalReturn workflows updated on or before this date (ISO 8601).updated_at_startstringoptionalReturn workflows updated on or after this date (ISO 8601).workflow_category_idstringoptionalFilter by workflow category ID.planningcentermcp_registrations_attendees#Search the attendees registered for a specific Planning Center signup. An attendee is a person registered for a signup, with status flags for whether they are active, canceled, complete, or waitlisted. Requires a signup_id.8 params
Search the attendees registered for a specific Planning Center signup. An attendee is a person registered for a signup, with status flags for whether they are active, canceled, complete, or waitlisted. Requires a signup_id.
signup_idstringrequiredThe ID of the signup to search attendees for. Required.filterstringoptionalFilter attendees by status: active, waitlist, or canceled.includearrayoptionalRelated resources to include in the response.order_bystringoptionalSort order for results.output_fieldsarrayoptionalList of fields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page.registration_idstringoptionalFilter attendees by a specific registration ID.planningcentermcp_registrations_registrations#Search registrations for a specific signup. A registration is a single submission to a signup. Requires a signup_id.5 params
Search registrations for a specific signup. A registration is a single submission to a signup. Requires a signup_id.
signup_idstringrequiredThe ID of the signup to search registrations for. Required.includearrayoptionalRelated resources to include in the response.output_fieldsarrayoptionalList of fields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page.planningcentermcp_registrations_signups#Search signups. A signup is an ongoing program, opportunity, or event that people can register for.7 params
Search signups. A signup is an ongoing program, opportunity, or event that people can register for.
campus_idstringoptionalFilter by campus ID.filterstringoptionalFilter signups by archived status: archived or unarchived.idsarrayoptionalFilter by one or more signup IDs.includearrayoptionalRelated resources to include in the response.output_fieldsarrayoptionalList of fields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page.planningcentermcp_services_blockouts#Search the blockout dates for a specific person. A blockout is a date or recurring date range when a person is unavailable to be scheduled to serve (e.g. vacation). Requires a person_id.6 params
Search the blockout dates for a specific person. A blockout is a date or recurring date range when a person is unavailable to be scheduled to serve (e.g. vacation). Requires a person_id.
person_idstringrequiredThe ID of the person whose blockouts to retrieve. Required.filterarrayoptionalPredefined filters to narrow results.group_identifierstringoptionalFilter by group identifier (groups recurring blockouts together).output_fieldsarrayoptionalList of fields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page.planningcentermcp_services_plan_items#Search the items (the order of service) within a specific plan in Planning Center Services. Each item is one element in a plan's sequence — a song, header, media, or announcement. Requires a service_type_id and plan_id; items are returned in plan sequence order.6 params
Search the items (the order of service) within a specific plan in Planning Center Services. Each item is one element in a plan's sequence — a song, header, media, or announcement. Requires a service_type_id and plan_id; items are returned in plan sequence order.
plan_idstringrequiredThe ID of the plan whose items to retrieve. Required.service_type_idstringrequiredThe ID of the service type containing the plan. Required.includearrayoptionalRelated resources to include in the response.output_fieldsarrayoptionalList of fields to include in the response.page_afterstringoptionalCursor for fetching the next page of results.per_pageintegeroptionalNumber of results per page.planningcentermcp_services_plan_people#List the people scheduled to serve on a specific plan in Planning Center Services — the plan's roster. Each entry includes the person's name, the team and position they're filling, and their confirmation status. Requires a service_type_id and plan_id. Use filter or read each person's status to narrow by confirmation state.8 params
List the people scheduled to serve on a specific plan in Planning Center Services — the plan's roster. Each entry includes the person's name, the team and position they're filling, and their confirmation status. Requires a service_type_id and plan_id. Use filter or read each person's status to narrow by confirmation state.
plan_idintegerrequiredThe ID of the plan whose roster you want to list.service_type_idintegerrequiredThe ID of the service type that contains the plan.filterarrayoptionalFilter scheduled people by confirmation state.includearrayoptionalRelated resources to include in the response.output_fieldsarrayoptionalLimit which fields are returned in the response.page_afterstringoptionalPagination cursor from the previous response to fetch the next page.per_pageintegeroptionalNumber of results to return per page (1–100).team_idintegeroptionalFilter results to a specific team within the plan.planningcentermcp_services_plans#Search plans within a Planning Center Services service type. A plan is a single worship service or event (e.g. "Sunday Morning, June 8") containing its dates, series, item and people counts, and length. Requires a service_type_id. Note: sort_date is the plan's service date; plans are commonly scheduled into the future. To find the most recent service, combine filter "past" with order_by -sort_date.13 params
Search plans within a Planning Center Services service type. A plan is a single worship service or event (e.g. "Sunday Morning, June 8") containing its dates, series, item and people counts, and length. Requires a service_type_id. Note: sort_date is the plan's service date; plans are commonly scheduled into the future. To find the most recent service, combine filter "past" with order_by -sort_date.
service_type_idintegerrequiredThe ID of the service type to search plans within.created_at_endstringoptionalReturn plans created on or before this date (ISO 8601).created_at_startstringoptionalReturn plans created on or after this date (ISO 8601).filterstringoptionalFilter plans by time period.includearrayoptionalRelated resources to include in the response.order_bystringoptionalField and direction to sort results by.output_fieldsarrayoptionalLimit which fields are returned in the response.page_afterstringoptionalPagination cursor from the previous response to fetch the next page.per_pageintegeroptionalNumber of results to return per page.series_titlestringoptionalFilter plans by series title (partial match).titlestringoptionalFilter plans by title (partial match).updated_at_endstringoptionalReturn plans updated on or before this date (ISO 8601).updated_at_startstringoptionalReturn plans updated on or after this date (ISO 8601).planningcentermcp_services_schedules#Retrieve a person's schedule in Planning Center Services — the worship service plans they are scheduled to serve in. Defaults to the authenticated user's own schedule when person_id is omitted. Provide a person_id to look up someone else's schedule.7 params
Retrieve a person's schedule in Planning Center Services — the worship service plans they are scheduled to serve in. Defaults to the authenticated user's own schedule when person_id is omitted. Provide a person_id to look up someone else's schedule.
includearrayoptionalRelated resources to include in the response.order_bystringoptionalField and direction to sort results by.output_fieldsarrayoptionalLimit which fields are returned in the response.page_afterstringoptionalPagination cursor from the previous response to fetch the next page.per_pageintegeroptionalNumber of results to return per page.person_idintegeroptionalPlanning Center person ID. Omit to return the authenticated user's own schedule.plan_idintegeroptionalFilter schedule results to a specific plan.planningcentermcp_services_service_types#Search for service types. A Service Type is a container for plans, typically a recurring worship event like Sunday AM, Wednesday Service, or Christmas Eve. Service Types group all the plans, teams, schedules, and song lists for that service.8 params
Search for service types. A Service Type is a container for plans, typically a recurring worship event like Sunday AM, Wednesday Service, or Christmas Eve. Service Types group all the plans, teams, schedules, and song lists for that service.
idsarrayoptionalFilter to only return service types with these IDs.includearrayoptionalRelated resources to include in the response.namestringoptionalFilter service types by name (partial match).order_bystringoptionalField and direction to sort results by.output_fieldsarrayoptionalLimit which fields are returned in the response.page_afterstringoptionalPagination cursor from the previous response to fetch the next page.parent_idintegeroptionalFilter service types by parent folder ID.per_pageintegeroptionalNumber of results to return per page.planningcentermcp_services_songs#Search the Planning Center Services song library. A song is a reusable piece of music (title, author, CCLI number, copyright, and themes) that can be scheduled into service plans. Use to find songs by title, author, theme, or CCLI number.9 params
Search the Planning Center Services song library. A song is a reusable piece of music (title, author, CCLI number, copyright, and themes) that can be scheduled into service plans. Use to find songs by title, author, theme, or CCLI number.
authorstringoptionalFilter songs by author name (partial match).ccli_numberintegeroptionalFilter songs by their CCLI license number.hiddenbooleanoptionalFilter songs by whether they are hidden in the library.order_bystringoptionalField and direction to sort results by.output_fieldsarrayoptionalLimit which fields are returned in the response.page_afterstringoptionalPagination cursor from the previous response to fetch the next page.per_pageintegeroptionalNumber of results to return per page.themesstringoptionalFilter songs by theme keywords.titlestringoptionalFilter songs by title (partial match).planningcentermcp_services_team_positions#Search the team positions within a service type in Planning Center Services. A team position is a role within a team that people are scheduled into — for example "Acoustic Guitar", "Vocals", or "Camera 1". Requires a service_type_id.6 params
Search the team positions within a service type in Planning Center Services. A team position is a role within a team that people are scheduled into — for example "Acoustic Guitar", "Vocals", or "Camera 1". Requires a service_type_id.
service_type_idintegerrequiredThe ID of the service type whose team positions you want to list.includearrayoptionalRelated resources to include in the response.order_bystringoptionalField and direction to sort results by.output_fieldsarrayoptionalLimit which fields are returned in the response.page_afterstringoptionalPagination cursor from the previous response to fetch the next page.per_pageintegeroptionalNumber of results to return per page.planningcentermcp_services_teams#Search teams in Planning Center Services. A team is a group within a service type that people are scheduled into to serve (e.g. Band, Vocals, Production, Hospitality). Pass a service_type_id to limit results to a single service type, or omit to search across the whole organization.7 params
Search teams in Planning Center Services. A team is a group within a service type that people are scheduled into to serve (e.g. Band, Vocals, Production, Hospitality). Pass a service_type_id to limit results to a single service type, or omit to search across the whole organization.
includearrayoptionalRelated resources to include in the response.namestringoptionalFilter teams by name (partial match).order_bystringoptionalField and direction to sort results by.output_fieldsarrayoptionalLimit which fields are returned in the response.page_afterstringoptionalPagination cursor from the previous response to fetch the next page.per_pageintegeroptionalNumber of results to return per page.service_type_idintegeroptionalFilter teams to a specific service type. Omit to search across the whole organization.