# sendifai > AI-native platform for churches, nonprofits, and community organizations: CRM, pastoral care, giving, email/SMS/WhatsApp marketing, facilities, events, and service planning (runsheet). Connect via MCP (Model Context Protocol) from Claude, ChatGPT, Cursor, and other agents. ## Agent / MCP endpoints - Machine-readable manifest (no auth): https://www.sendifai.com/api/mcp/manifest - MCP streamable HTTP server: https://www.sendifai.com/api/mcp - OAuth protected resource: https://www.sendifai.com/.well-known/oauth-protected-resource - OAuth authorization server: https://www.sendifai.com/.well-known/oauth-authorization-server - This file (short): https://www.sendifai.com/llms.txt - Extended agent index: https://www.sendifai.com/llms-full.txt ## Authentication - OAuth (recommended): dynamic client registration + PKCE; user consent at /oauth/authorize - API key: Settings → API Keys → Bearer sk_live_… with module scopes (people:read, runsheet:write, etc.) ## Platform modules - **platform** (8 tools): Platform-level overview: one-call snapshot of the whole organization across all modules, autonomous agents, pending proposals, and pay-per-use billing state (platform_usage). - **people** (14 tools): CRM contacts: search, read, create, update contacts; notes and tags. - **community** (12 tools): Community & pastoral care: life events (baptisms, bereavements, health), follow-up radar, care team roles/assignments, safeguarding checks. - **giving** (7 tools): Giving & donations: funds, donations, givers, giving summaries. - **grow** (16 tools): Growth marketing: automation flows (funnels), forms and submissions, landing pages, email campaigns with stats. - **spaces** (10 tools): Facilities: rooms, bookings with conflict detection, availability checks, incidents, utility/energy bills. - **channels** (6 tools): Messaging channels: send one-off email, SMS, or WhatsApp (compliance-checked and metered), messaging credit balance, recent campaign performance. - **ticketing** (11 tools): Event ticketing: events with sales/revenue figures, create and publish events, waitlist promotion, promo codes, and refunds (refunds need the dedicated ticketing:refund scope). - **mediahub** (6 tools): Media library: podcast episodes, analytics, create/publish media items. - **live** (6 tools): Live streaming: list streams, viewer stats, schedule and update broadcasts. - **guests** (6 tools): Guest/visitor pipeline: stage summary, follow-up tasks (create/complete), move pipeline entries. - **runsheet** (6 tools): Service planning: upcoming plans, open positions, assign volunteers, publish plans. - **store** (5 tools): Media shops: list shops, products, and orders, ensure org shop, create products. - **templates** (4 tools): Email and WhatsApp templates: list, read, and create email templates; check WhatsApp template approval status. - **groups** (4 tools): Small groups: list groups and members, create groups, add members. - **attendance** (2 tools): Service attendance: recent check-ins and attendance summaries (first-time visitors, children). - **schedule** (2 tools): Recurring service schedule: service series (weekly patterns) and upcoming service instances. - **audit** (1 tools): Audit log: who did what, when. ## Human documentation - Help center: https://www.sendifai.com/help - Pricing: https://www.sendifai.com/pricing - Compare: https://www.sendifai.com/compare ## Example agent prompts - Give me an overview of the organization - Find the contact John Smith and log a bereavement life event for last Sunday - How much did we raise for the Building fund this month? - Is the Main Hall free next Saturday 2-5pm? If so book it for "Youth rehearsal" - List overdue pastoral follow-ups and draft a check-in SMS for each - How is the Summer Gala selling? How many spots are left? - Which volunteer positions are still unfilled for Sunday's service? - Which guests have follow-ups due this week? ## Tool index (names only) - platform_overview [platform:read]: One-call snapshot of the organization: contact and community counts, giving this month, active automations, published forms and landing pages, upcoming events, bookings, and service plans. Call this first to orient yourself. - platform_list_agents [platform:read]: List the organization's autonomous platform agents (People, Pastoral Care, Giving, Grow, Spaces, Ticketing, Guests, Runsheet, MediaHub, Channels, Live) with their autonomy mode and last run. - platform_pending_proposals [platform:read]: List pending agent proposals awaiting human approval. Use platform_approve_proposal or platform_reject_proposal (platform:write) to act on them. - platform_usage [platform:read]: Current pay-per-use billing state: usage vs allowance for every feature slider (email sends, messaging credits, contacts, donations, tickets, check-ins, rooms, streams, media items), so you know the remaining budget before taking actions that consume usage. - platform_get_proposal [platform:read]: Get full details of an agent proposal including the action payload. - platform_approve_proposal [platform:write]: Approve and execute a pending agent proposal. Requires owner/admin API key with platform:write scope. - platform_reject_proposal [platform:write]: Reject a pending agent proposal without executing it. - platform_proactive_alerts [platform:read]: AI-generated proactive alerts across the whole organization (native AI tier only). - people_search_contacts [people:read]: Search contacts by name, email, or phone. Returns up to `limit` matches with core fields. Use this before creating a contact to avoid duplicates. - people_get_contact [people:read]: Get full details for one contact by ID, including tags and community membership. - people_create_contact [people:write]: Create a new contact. Provide at least an email or a first+last name. Search first with people_search_contacts to avoid duplicates. - people_update_contact [people:write]: Update fields on an existing contact. Only the provided fields change. - people_list_notes [people:read]: List CRM notes, optionally filtered to one contact. Newest first. - people_add_note [people:write]: Add a note to a contact. The contact becomes a community member so the note is visible in the Community notes list. - people_list_tags [people:read]: List all CRM tags in the organization. - people_add_contact_tags [people:write]: Add one or more tags to a contact by tag name (creates tags if they do not exist). - people_list_segments [people:read]: List dynamic contact segments with live member counts. - people_preview_segment [people:read]: Preview how many contacts match a segment rule tree before creating it. - people_create_segment [people:write]: Create a dynamic segment from a rule tree. - people_list_duplicates [people:read]: List groups of contacts sharing the same email (duplicate candidates). - people_merge_contacts [people:write]: Merge two duplicate contacts — keeps keepContactId and soft-merges mergeContactId into it. - people_meeting_prep [people:read]: Generate an AI meeting-prep briefing for one or more contacts (history, giving, engagement). - community_list_life_event_types [community:read]: List available life event types (baptism, bereavement, marriage, etc.) grouped by category. Use the returned id when logging events. - community_list_life_events [community:read]: List recent life events for the organization, newest first. Confidential events are excluded. - community_log_life_event [community:write]: Log a life event for a contact (e.g. bereavement, baptism, new baby). The contact becomes a community member. Grief events automatically create a 1-year anniversary reminder. - community_pending_followups [community:read]: List life-event follow-ups that are due or overdue — the pastoral care radar. - community_list_care_team [community:read]: List care team roles and current assignments. - community_list_safeguarding_checks [community:read]: List safeguarding checks (DBS etc.) with status and expiry. Read-only compliance overview. - community_resolve_life_event [community:write]: Mark a life event as resolved/closed and clear follow-up dates. - community_complete_followup [community:write]: Mark a pastoral follow-up as complete by clearing the next follow-up date on a life event. - community_list_prayer_requests [community:read]: List prayer requests — optionally filter to urgent or active only. - community_create_prayer_request [community:write]: Log a prayer request for a contact. - community_list_pastoral_visits [community:read]: List pastoral visit history for a contact. - community_log_pastoral_visit [community:write]: Log a pastoral visit (home, hospital, phone, video, office). - giving_list_funds [giving:read]: List donation funds (e.g. General, Building, Missions) with raised and target amounts. - giving_list_donations [giving:read]: List donations, newest first. Filter by fund, giver, status, or date range. - giving_summary [giving:read]: Giving totals for a date range: total amount, donation count, and per-fund breakdown. - giving_search_givers [giving:read]: Search givers by name or email. - giving_record_donation [giving:write]: Record a manual donation (cash, cheque, bank transfer). Requires a fund id (giving_list_funds) and either a giverId, contactId, or isAnonymous=true. Goes through the same validated path as the dashboard, including usage limits, Gift Aid derivation, and optional receipt. - giving_create_fund [giving:write]: Create a new giving fund. - giving_list_pledges [giving:read]: List recurring giving pledges with progress against total pledged. - grow_list_automations [grow:read]: List automation flows (funnels) with status and enrollment stats. - grow_get_automation [grow:read]: Get one automation flow including its node graph (flow_definition). - grow_set_automation_status [grow:write]: Activate or pause an automation flow. - grow_list_forms [grow:read]: List forms with view and submission counts. - grow_list_form_submissions [grow:read]: List recent submissions for a form, including submitted data. - grow_list_landing_pages [grow:read]: List landing pages with visit and conversion stats. - grow_list_campaigns [grow:read]: List email campaigns with send/open/click stats. - grow_create_landing_page [grow:write]: Create a draft landing page from a text prompt (AI-generated content blocks). - grow_publish_landing_page [grow:write]: Publish a landing page so it is live at its public URL. - grow_enroll_contact [grow:write]: Enroll a contact into an automation flow. - grow_create_campaign [grow:write]: Create a draft email campaign. - grow_preview_campaign_send [grow:read]: Preview recipient count before sending a campaign (call before grow_send_campaign). - grow_schedule_campaign [grow:write]: Schedule an email campaign for a future ISO datetime. - grow_schedule_campaign_optimal [grow:write]: Schedule a campaign at the AI-recommended optimal send time. - grow_send_campaign [grow:write]: Send an email campaign immediately. Call without confirm to get recipient count; set confirm:true to execute. - grow_list_ab_tests [grow:read]: List A/B tests with status, winning variant, and significance. - spaces_list_rooms [spaces:read]: List rooms with type, capacity, and status. - spaces_list_bookings [spaces:read]: List bookings, optionally for one room or a date range. Defaults to upcoming bookings. - spaces_check_availability [spaces:read]: Check whether a room is free between two times. Returns any conflicting bookings. - spaces_create_booking [spaces:write]: Create an internal booking for a room. Checks conflicts first and fails if the slot is taken. For public/paid hire use the public booking page instead. - spaces_list_incidents [spaces:read]: List facility incidents (maintenance issues, hazards) with severity and status. - spaces_list_utility_bills [spaces:read]: List utility/energy bills with amounts, periods, and payment status. - spaces_create_incident [spaces:write]: Report a facility incident (maintenance issue, hazard, etc.). - spaces_cancel_booking [spaces:write]: Cancel a room booking. - spaces_create_room [spaces:write]: Create a new room in the facilities module. - spaces_list_buildings [spaces:read]: List buildings/campuses with capacity and address. - channels_send_email [channels:send]: Send a single transactional-style email to one recipient. Goes through suppression checks and counts toward the Email Marketing usage allowance. For bulk sends, create a campaign in the dashboard instead. - channels_send_sms [channels:send]: Send an SMS to one phone number. Respects opt-outs and quiet hours (may be scheduled automatically if inside quiet hours), and deducts messaging credits like any dashboard send. - channels_sms_quota [channels:read]: Check the messaging credit balance (allowance, used, remaining) for the current billing period — this is what SMS/WhatsApp sends debit. - channels_recent_campaign_performance [channels:read]: Delivery/open/click stats for recently sent campaigns — quick channel health check. - channels_send_whatsapp [channels:send]: Send a single WhatsApp text message. Requires an approved WhatsApp sender and deducts messaging credits. - channels_whatsapp_template_status [channels:read]: Check which WhatsApp templates are approved and ready to send. - ticketing_list_events [ticketing:read]: List ticketing events with registrations and revenue, optionally filtered by status or upcoming only. - ticketing_get_event_sales [ticketing:read]: Registration, revenue, check-in, and capacity figures for one event. - ticketing_create_event [ticketing:write]: Create a draft ticketing event. Not public until published — add ticket types in the dashboard, then use ticketing_publish_event. - ticketing_publish_event [ticketing:write]: Publish a draft event so it becomes bookable. Refuses if the event has no active ticket types. - ticketing_promote_waitlist [ticketing:write]: Offer a freed-up spot to the next person on an event waitlist and email them a claim link. - ticketing_create_promo_code [ticketing:write]: Create a discount promo code for an event. - ticketing_issue_refund [ticketing:refund]: Refund a paid registration via Stripe — full refund if no amount given, otherwise partial. Irreversible: moves money and a full refund cancels the registration and offers the spot to the waitlist. Requires the dedicated ticketing:refund scope. - ticketing_list_attendees [ticketing:read]: List confirmed registrations for an event with check-in status. - ticketing_check_in [ticketing:write]: Check in a registration by ID, email, or QR token. - ticketing_list_ticket_types [ticketing:read]: List ticket types for an event with prices and quantities sold. - ticketing_create_ticket_type [ticketing:write]: Add a ticket type to a draft or published event. - mediahub_list_podcast_episodes [mediahub:read]: List podcast episodes with play/download counts, optionally for one feed. - mediahub_get_media_analytics [mediahub:read]: Play/download/view analytics for one media item, or the org top-10 summary if no id given. - mediahub_create_media_item [mediahub:write]: Create a draft media library item (sermon, podcast episode, video, etc.). - mediahub_publish_media_item [mediahub:write]: Publish a media item immediately (sets status to published). - mediahub_list_playlists [mediahub:read]: List media playlists with item counts and visibility. - mediahub_create_playlist [mediahub:write]: Create a media playlist. - live_list_streams [live:read]: List live streams with viewer stats, optionally filtered by status (scheduled, live, ended). - live_get_stream_stats [live:read]: Viewer, watch-time, interaction, and giving stats for one stream. - live_schedule_stream [live:write]: Schedule a new live stream (creates Mux ingest + playback). Peak viewer limits apply at join time. - live_update_stream [live:write]: Update a scheduled live stream title, description, or schedule time. - live_list_polls [live:read]: List polls for a live stream with options and active state. - live_create_poll [live:write]: Create a viewer poll on a live stream. - guests_pipeline_summary [guests:read]: Guest/visitor pipeline summary — how many people are in each stage. - guests_list_followups_due [guests:read]: Guest follow-up tasks that are overdue or due by a cutoff date. - guests_create_followup_task [guests:write]: Create a follow-up task for a guest/visitor contact in the pipeline. - guests_complete_followup_task [guests:write]: Mark a guest follow-up task as completed. - guests_move_pipeline_entry [guests:write]: Move a guest pipeline entry to a different stage. - guests_check_in [guests:write]: Check a contact into a service instance (Sunday attendance). - runsheet_list_upcoming_plans [runsheet:read]: Upcoming service plans (runsheets) with dates and status. - runsheet_open_positions [runsheet:read]: Open (unfilled) volunteer/team positions on service plans — scheduling gaps that need people. - runsheet_assign_position [runsheet:write]: Assign a contact to an open volunteer/team position on a service plan. Creates a pending assignment and notification. - runsheet_publish_plan [runsheet:write]: Publish a runsheet plan so volunteers can see their assignments. - runsheet_list_songs [runsheet:read]: List the worship song library with keys, CCLI numbers, and usage counts. - runsheet_add_song [runsheet:write]: Add a song to the worship library. - store_list_shops [store:read]: List media shops for the organization (org shop + speaker shops). - store_list_products [store:read]: List products in a shop. - store_ensure_org_shop [store:write]: Ensure the organization has a default org shop (creates one if missing). - store_create_product [store:write]: Sell an existing media item as a product in a shop. The item must already exist in MediaHub (see mediahub tools). - store_list_orders [store:read]: List store orders with amounts and status. - templates_list_email_templates [templates:read]: List email templates with category and subject line. - templates_get_email_template [templates:read]: Get one email template including its HTML content. - templates_create_email_template [templates:write]: Create an email template from HTML content. - templates_list_whatsapp_templates [templates:read]: List WhatsApp message templates with Meta approval status. - groups_list [groups:read]: List small groups with meeting details and member counts. - groups_create [groups:write]: Create a small group. - groups_list_members [groups:read]: List members of a small group. - groups_add_member [groups:write]: Add a contact to a small group. - attendance_recent_checkins [attendance:read]: List recent service check-ins with visitor flags. - attendance_summary [attendance:read]: Attendance totals for a date range — total check-ins, first-time visitors, children. - schedule_list_series [schedule:read]: List recurring service series (weekly services, monthly events) with recurrence rules. - schedule_upcoming_services [schedule:read]: List upcoming service instances (occurrences) with dates and status. - audit_list_events [audit:read]: List recent audit-log events for the organization (who did what, when). Sensitive — requires the dedicated audit:read scope. ## MCP prompts (workflow playbooks) - org_health_review: Full health check across the whole organization: overview, agents, proposals, usage, and recommended actions. - weekly_pastoral_review: Review overdue follow-ups, urgent prayer requests, recent life events, and pastoral visits; propose check-ins. - guest_followup_sprint: Work through the guest pipeline: due follow-ups, first-time visitors, and stalled pipeline entries. - event_health_check: Deep-dive one event: sales pace, capacity, ticket types, waitlist, and promo recommendations. - campaign_launch: Pre-flight a draft email campaign: audience, content, send preview, then schedule at the optimal time. - giving_report: Produce a giving report for a date range: totals by fund, pledge progress, and notable donors. - crm_cleanup: Find and fix data-quality issues: duplicate contacts, missing emails/phones, and stale segments. - sunday_service_prep: Prepare the next service: unfilled volunteer positions, runsheet plan, song selection, and schedule. - attendance_report: Attendance trends over a date range: totals, first-time visitors, children, and follow-up conversion. - new_member_onboarding: Onboard one contact: profile check, welcome message, group matching, and follow-up task. - space_booking_assistant: Find and book a suitable room: availability check, conflict detection, and booking creation. - proposal_triage: Review every pending autonomous-agent proposal and approve, reject, or escalate each with reasoning. Total tools: 126 | Version: 1