# Workflow and tool index

Begin with `overview` for identity, confirmation, privacy and retry rules. This catalog explains tools; it grants no authority. Inspect the live schemas before calls and use only tools present on the connected server.

| User goal | Guide | Narrow tools |
| --- | --- | --- |
| Ministry purpose, scheduling requirements and children's ministry | ministry-rules; glossary | search_guides, get_guide, getMinistryDocuments |
| Find speakers, check public calendars or teaching visits | calendar-conventions; website-guide | getCurrentUser, listSpeakers, getSpeaker, checkAllSpeakersAvailability |
| Review a speaker's own event titles, privacy and multi-day dates | calendar-conventions; speaker-setup | getCurrentUser, getSpeaker, bounded ministry availability reads; optional separate speaker-authorized Google Calendar integration for raw events or edits |
| Complete an invited speaker's setup | speaker-setup | getCurrentUser, findSpeakerSetupLocation, acceptSpeakerInvitation |
| Edit a speaker card | speaker-setup; administration | getSpeaker, searchSpeakerLocations, updateSpeaker; authorized findNewSpeakerLocation, addSpeaker, removeSpeaker, updateSpeakerCalendarId, updateSpeakerRoles |
| Invite a speaker or inspect delivery | administration | listInvitations, getSpeakerInvitationDelivery, inviteSpeaker, sendSpeakerInvitation, retrySpeakerInvitation, removeInvitation |
| Grant or remove website access | website-members | listWebsiteMembers, checkWebsiteMemberAdded, checkWebsiteMemberRemoved, addWebsiteMembers, removeWebsiteMembers |
| Create/manage prayer meetings and recipients | organizer-meetings | getOrganizerContext, getMeetings, getPrayerMeeting, createPrayerMeeting, updatePrayerMeeting, getMeetingAttendance, getMeetingInvitations, getMeetingPricing, getMeetingInvitationSourceCatalog, getMeetingInvitationCandidates, getMeetingInvitationProfile, checkMeetingInvitationMembership, addMeetingInvitations, removeMeetingInvitation, sendMeetingInvitation, addMeetingInviteeWebsiteMembership, updateMeetingRegistrationStatus, saveManualPaymentCatalog |
| Maintain owned guest lists | guest-lists | getOrganizerContext, getGuestLists, getGuestListEntries, previewGuestListImport, createGuestList, renameGuestList, importGuestListEntries, removeGuestListEntries, deleteGuestList |
| Send availability inquiries or meeting announcements | communications | sendAvailabilityInquiry, getAvailabilityInquiry, previewMeetingEmail, sendMeetingEmail, when advertised |
| My invitation, profile and registration | participant-registration | getParticipantContext, getParticipantProfile, saveParticipantProfile, findParticipantResidence, findParticipantChurch, listMyMeetings, getMyMeeting, submitMyRegistration |
| My files and recommendation status | participant-registration; payments-and-letters | getMyProfilePhotoUploadHelp/getMyRecommendationLetterUploadHelp/getMyPaymentReceiptUploadHelp, uploadMyProfilePhoto, uploadMyRecommendationLetter, uploadMyPaymentReceipt, listMyRecommendationLetters |
| My payment choices and cancellation | participant-registration; payments-and-letters | getMyMeetingPaymentOptions, quoteMyMeetingPayment, saveMyMeetingPaymentPlan, startMyMeetingPaymentCheckout, getMyMeetingPaymentOrder, getMyPaymentCheckoutCancellationLink, getMyCancellation, requestMyCancellation |
| Organizer evidence and ledger review | payments-and-letters | getMeetingPaymentConfiguration, listMeetingPaymentReceipts, approveMeetingPaymentReceipt or rejectMeetingPaymentReceipt, approveMeetingRecommendationLetter, recordMeetingManualPayment, reverseMeetingManualPayment, approveMeetingCancellation or declineMeetingCancellation |
| Collector assignments and remittances | payments-and-letters | getPaymentCollectorContext, acceptPaymentCollectorInvitation, getMeetingRemittanceContext, reportMeetingRemittance, cancelMeetingRemittance, confirmMeetingRemittance, reverseMeetingRemittance |
| Exports, provider accounts, linked accounts and private family workflows | payments-and-letters; accounts-privacy-and-help | Authenticated website handoffs |
| Participant profiles, linked accounts, privacy or website help | accounts-privacy-and-help; website-guide | Public guides; list_tutorials and get_tutorial for localized Help, show_tutorial_screenshot for one illustrative image in chat; website handoffs where needed |

## Website instructions for any supported task

When the user asks where or how to do something on the website, or prefers the website, fetch `website-guide` and give its task-specific page link and short steps. Resolve permission prerequisites from current server responses in the background; explain an unmet prerequisite only when it affects the requested task. This applies to tasks that also have MCP tools; it does not reduce the supported tool workflows. Resolve verified page paths against the origin of the guide response's trusted `sourceUrl` so DEV and PROD records stay in their own environment. Use exact current authorized IDs for record links, or a list page when none is known. Do not invent pages, records, query parameters or actions from a tool name. For genuine MCP limitations, use the same map to make the website handoff concrete.

The advertised meeting-registration tool is `updateMeetingRegistrationStatus`. New plans and calls use the advertised name and its live schema. Participant signup uses submitMyRegistration instead.

## Search and availability

`checkAllSpeakersAvailability` takes complete time-zone-bearing timeMin/timeMax values for at most 93 days, optional speakerId and supported language/country/children/pastor filters. Follow nextCursor and inspect incompleteChecks. Split longer requested ranges; a single page is not a complete audit. Busy overlapping regional-only time is not regional availability. Do not expose private event details or reconstruct withheld speaker contacts.

The website's `/availability.html` checks an entire fixed range; `/availability-advanced.html` supports flexible programs and filters. Both require an explicit Check action. Use `getMinistryDocuments` for the official localized guideline/PDF links where relevant.

## Travel planning

Ask destination city, dates, lodging expectations and airports. Use recorded airport preference and visa information without inferring immigration eligibility. If the client has current web research, verify transport/lodging prices and link sources; label estimates and leave booking to the user. Without current sources, prepare a checklist rather than inventing fares, baggage terms or eligibility.

## Keep separate operations separate

Saving a guest contact does not grant SQL website membership. Adding access does not invite someone to a meeting or speaker role. Saving a meeting invitation does not send it, register a participant or collect payment. Website text corrections go through source review and deployment; there is no website, GPT or MCP translation editor. A receipt upload is not approved payment. Explain these distinctions before combining workflow steps.

## Named MCP tools and compatibility

The approved ChatGPT app and other MCP clients use the separately named tools advertised by the current MCP catalog. Follow each tool’s exact schema and required consented scopes; never invent transport envelopes or use a retired custom GPT dispatcher.

The former getDocuments name remains an unlisted compatibility alias for getMinistryDocuments; new calls use the advertised name. Internal families getMeetingOrganizerView, inspectMeetingPeople, manageMeetingInvitations and manageGuestList are not advertised tool names. uploadAgentFile and manageMeetingRemittance likewise describe internal families; use the separate named upload and remittance tools above. No custom GPT or Builder setup is supported.
