CRM · Beta
ChurnZero
API integration
Ship CRM features without building the integration. Full ChurnZero API access via Proxy and 120+ 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 ChurnZero
Common scenarios for SaaS companies building ChurnZero integrations for their customers.
Enrich customer accounts with billing and subscription data
If you're a billing or subscription management SaaS, offering a ChurnZero integration lets your mutual customers automatically sync MRR, contract values, seat counts, and renewal dates into ChurnZero so CS teams can trigger renewal and expansion playbooks without manual data entry.
Push product usage and session telemetry for health scoring
Product analytics platforms can offer a native ChurnZero connector so their users can stream feature events and in-app session time directly into ChurnZero, feeding the health scores and adoption dashboards CSMs depend on.
Surface CS context inside helpdesks and sales tools
If you build a support, sales, or collaboration tool, pulling ChurnZero health scores, churn score factors, and account attributes lets your users show a real-time risk badge next to tickets, deals, and conversations so agents can prioritize at-risk accounts.
Automate CSM activity logging from meetings and conversations
Conversation intelligence, meeting, and note-taking tools can push meeting records and notes into ChurnZero against the right account and contact, eliminating manual QBR prep and keeping the CS timeline complete.
Sync onboarding and lifecycle progress with external project tools
Project management and onboarding tools can read ChurnZero journey, milestone, and task progress to mirror lifecycle status in their own UI, helping implementation teams see exactly where customers are stuck.
What You Can Build
Ship these features with Truto + ChurnZero
Concrete product features your team can ship faster by leveraging Truto’s ChurnZero integration instead of building from scratch.
Account attribute sync for subscription data
Use update and increment operations on ChurnZero account attributes to keep renewal dates, contract amounts, license counts, and consumed credits continuously aligned with your system of record.
Event and time-in-app ingestion pipeline
Create ChurnZero events and time-in-app records from your product telemetry so feature usage and active session duration flow into health scoring in near real time.
Embedded account health widget
Fetch an account's primary churn score and underlying churn score factors to render a Red/Yellow/Green health badge and risk breakdown inside your own app.
Journey and milestone progress dashboard
Read journeys, journey instances, milestones, and milestone progress to show customers' onboarding and lifecycle status, including which steps and tasks are outstanding.
Two-way activity and note logging
Create notes, tasks, and meeting references in ChurnZero from support conversations or calendar events, and pull them back to display a unified activity timeline in your product.
Survey response and VoC enrichment view
Ingest or read survey responses tied to accounts and contacts so NPS and CSAT signals captured in your tool are visible inside ChurnZero and reflected in churn factors.
SuperAI
ChurnZero AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_churn_zero_accounts
Get entities from Account
get_single_churn_zero_account_by_id
Get entity from Account by key
churn_zero_accounts_lookup_direct_parent_account
Get DirectParentAccount from Account
churn_zero_accounts_lookup_parent_account
Get ParentAccount from Account
churn_zero_accounts_lookup_primary_churn_score
Get PrimaryChurnScore from Account
churn_zero_accounts_lookup_ultimate_parent_account
Get UltimateParentAccount from Account
churn_zero_accounts_lookup_user_account
Get UserAccount from Account
churn_zero_accounts_lookup_by_external_id
Get an Account by AccountExternalId
list_all_churn_zero_churn_scores
Get entities from ChurnScore
get_single_churn_zero_churn_score_by_id
Get entity from ChurnScore by key
list_all_churn_zero_churn_score_calculations
Get entities from ChurnScoreCalculation
get_single_churn_zero_churn_score_calculation_by_id
Get entity from ChurnScoreCalculation by key
churn_zero_churn_score_calculations_lookup_account
Get Account from ChurnScoreCalculation
churn_zero_churn_score_calculations_lookup_churn_score
Get ChurnScore from ChurnScoreCalculation
list_all_churn_zero_churn_score_factors
Get entities from ChurnScoreFactor
get_single_churn_zero_churn_score_factor_by_id
Get entity from ChurnScoreFactor by key
churn_zero_churn_score_factors_lookup_churn_score
Get ChurnScore from ChurnScoreFactor
churn_zero_churn_score_factors_lookup_journey
Get Journey from ChurnScoreFactor
list_all_churn_zero_churn_score_factor_calculations
Get entities from ChurnScoreFactorCalculation
get_single_churn_zero_churn_score_factor_calculation_by_id
Get entity from ChurnScoreFactorCalculation by key
churn_zero_churn_score_factor_calculations_lookup_account
Get Account from ChurnScoreFactorCalculation
churn_zero_churn_score_factor_calculations_lookup_churn_score
Get ChurnScore from ChurnScoreFactorCalculation
churn_score_factor_calculations_lookup_churn_score_factor
Get ChurnScoreFactor from ChurnScoreFactorCalculation
list_all_churn_zero_contacts
Get entities from Contact
get_single_churn_zero_contact_by_id
Get entity from Contact by key
churn_zero_contacts_lookup_account
Get Account from Contact
churn_zero_contacts_lookup_by_external_id
Get a Contact by AccountExternalId and ContactExternalId
list_all_churn_zero_events
Get entities from Event
get_single_churn_zero_event_by_id
Get entity from Event by key
churn_zero_events_lookup_account
Get Account from Event
churn_zero_events_lookup_contact
Get Contact from Event
churn_zero_events_lookup_event_type
Get EventType from Event
create_a_churn_zero_event
Track a usage event for an account and contact (the event type is created if it does not exist). Uses the HTTP push API.
list_all_churn_zero_event_types
Get entities from EventType
get_single_churn_zero_event_type_by_id
Get entity from EventType by key
list_all_churn_zero_journeys
Get entities from Journey
get_single_churn_zero_journey_by_id
Get entity from Journey by key
list_all_churn_zero_journey_instances
Get entities from JourneyInstance
get_single_churn_zero_journey_instance_by_id
Get entity from JourneyInstance by key
churn_zero_journey_instances_lookup_account
Get Account from JourneyInstance
churn_zero_journey_instances_lookup_journey
Get Journey from JourneyInstance
list_all_churn_zero_journey_milestones
Get entities from JourneyMilestone
get_single_churn_zero_journey_milestone_by_id
Get entity from JourneyMilestone by key
churn_zero_journey_milestones_lookup_journey
Get Journey from JourneyMilestone
list_all_churn_zero_journey_milestone_achievements
Get entities from JourneyMilestoneAchievement
get_single_churn_zero_journey_milestone_achievement_by_id
Get entity from JourneyMilestoneAchievement by key
journey_milestone_achievements_lookup_journey_milestone
Get JourneyMilestone from JourneyMilestoneAchievement
list_all_churn_zero_journey_milestone_progress
Get entities from JourneyMilestoneProgress
get_single_churn_zero_journey_milestone_progress_by_id
Get entity from JourneyMilestoneProgress by key
churn_zero_journey_milestone_progress_lookup_account
Get Account from JourneyMilestoneProgress
churn_zero_journey_milestone_progress_lookup_journey
Get Journey from JourneyMilestoneProgress
churn_zero_journey_milestone_progress_lookup_journey_instance
Get JourneyInstance from JourneyMilestoneProgress
churn_zero_journey_milestone_progress_lookup_journey_milestone
Get JourneyMilestone from JourneyMilestoneProgress
list_all_churn_zero_journey_milestone_step_progress
Get entities from JourneyMilestoneStepProgress
get_single_churn_zero_journey_milestone_step_progress_by_id
Get entity from JourneyMilestoneStepProgress by key
churn_zero_journey_milestone_step_progress_lookup_account
Get Account from JourneyMilestoneStepProgress
churn_zero_journey_milestone_step_progress_lookup_journey
Get Journey from JourneyMilestoneStepProgress
journey_milestone_step_progress_lookup_journey_instance
Get JourneyInstance from JourneyMilestoneStepProgress
journey_milestone_step_progress_lookup_journey_milestone
Get JourneyMilestone from JourneyMilestoneStepProgress
journey_milestone_step_progress_lookup_journey_milestone_achieve
Get JourneyMilestoneAchievement from JourneyMilestoneStepProgress
journey_milestone_step_progress_lookup_journey_milestone_task
Get JourneyMilestoneTask from JourneyMilestoneStepProgress
churn_zero_journey_milestone_step_progress_lookup_task
Get Task from JourneyMilestoneStepProgress
churn_zero_journey_milestone_step_progress_lookup_task_status
Get TaskStatus from JourneyMilestoneStepProgress
list_all_churn_zero_journey_milestone_tasks
Get entities from JourneyMilestoneTask
get_single_churn_zero_journey_milestone_task_by_id
Get entity from JourneyMilestoneTask by key
churn_zero_journey_milestone_tasks_lookup_journey_milestone
Get JourneyMilestone from JourneyMilestoneTask
list_all_churn_zero_journey_progress
Get entities from JourneyProgress
get_single_churn_zero_journey_progress_by_id
Get entity from JourneyProgress by key
churn_zero_journey_progress_lookup_account
Get Account from JourneyProgress
churn_zero_journey_progress_lookup_journey
Get Journey from JourneyProgress
churn_zero_journey_progress_lookup_journey_instance
Get JourneyInstance from JourneyProgress
list_all_churn_zero_meetings
Get entities from Meeting
get_single_churn_zero_meeting_by_id
Get entity from Meeting by key
churn_zero_meetings_lookup_account
Get Account from Meeting
churn_zero_meetings_lookup_meeting_type
Get MeetingType from Meeting
churn_zero_meetings_lookup_user_account
Get UserAccount from Meeting
list_all_churn_zero_meeting_types
Get entities from MeetingType
get_single_churn_zero_meeting_type_by_id
Get entity from MeetingType by key
list_all_churn_zero_messages
Get entities from Message
get_single_churn_zero_message_by_id
Get entity from Message by key
churn_zero_messages_lookup_meeting
Get Meeting from Message
churn_zero_messages_lookup_note
Get Note from Message
churn_zero_messages_lookup_survey_response
Get SurveyResponse from Message
list_all_churn_zero_notes
Get entities from Note
get_single_churn_zero_note_by_id
Get entity from Note by key
churn_zero_notes_lookup_account
Get Account from Note
churn_zero_notes_lookup_note_type
Get NoteType from Note
list_all_churn_zero_note_types
Get entities from NoteType
get_single_churn_zero_note_type_by_id
Get entity from NoteType by key
list_all_churn_zero_segments
Get entities from Segment
get_single_churn_zero_segment_by_id
Get entity from Segment by key
churn_zero_segments_lookup_user_account
Get UserAccount from Segment
list_all_churn_zero_segment_column_sets
Get entities from SegmentColumnSet
get_single_churn_zero_segment_column_set_by_id
Get entity from SegmentColumnSet by key
churn_zero_segment_column_sets_lookup_user_account
Get UserAccount from SegmentColumnSet
list_all_churn_zero_surveys
Get entities from Survey
get_single_churn_zero_survey_by_id
Get entity from Survey by key
list_all_churn_zero_survey_responses
Get entities from SurveyResponse
get_single_churn_zero_survey_response_by_id
Get entity from SurveyResponse by key
churn_zero_survey_responses_lookup_account
Get Account from SurveyResponse
churn_zero_survey_responses_lookup_contact
Get Contact from SurveyResponse
churn_zero_survey_responses_lookup_survey
Get Survey from SurveyResponse
list_all_churn_zero_tasks
Get entities from Task
get_single_churn_zero_task_by_id
Get entity from Task by key
churn_zero_tasks_lookup_account
Get Account from Task
churn_zero_tasks_lookup_contact
Get Contact from Task
churn_zero_tasks_lookup_journey
Get Journey from Task
churn_zero_tasks_lookup_meeting
Get Meeting from Task
churn_zero_tasks_lookup_note
Get Note from Task
churn_zero_tasks_lookup_task_priority
Get TaskPriority from Task
churn_zero_tasks_lookup_task_status
Get TaskStatus from Task
churn_zero_tasks_lookup_user_account
Get UserAccount from Task
list_all_churn_zero_task_priorities
Get entities from TaskPriority
get_single_churn_zero_task_priority_by_id
Get entity from TaskPriority by key
list_all_churn_zero_task_status
Get entities from TaskStatus
get_single_churn_zero_task_status_by_id
Get entity from TaskStatus by key
list_all_churn_zero_user_accounts
Get entities from UserAccount
get_single_churn_zero_user_account_by_id
Get entity from UserAccount by key
update_a_churn_zero_account_attribute_by_id
Set one account attribute (standard or custom field) through the HTTP push API. Standard fields: Name, NextRenewalDate, TotalContractAmount, IsActive, BillingAddressLine1/Line2/City/State/Zip, StartDate, EndDate, LicenseCount, OwnerUserAccount, ParentAccountExternalId.
create_a_churn_zero_account_attribute_increment
Add to a numeric account attribute (negative values subtract) through the HTTP push API.
update_a_churn_zero_contact_attribute_by_id
Set one contact attribute (standard or custom field) through the HTTP push API. Standard fields: FirstName, LastName, Email.
create_a_churn_zero_contact_attribute_increment
Add to a numeric contact attribute (negative values subtract) through the HTTP push API.
create_a_churn_zero_time_in_app
Record a contact's time in your app between two timestamps through the HTTP push API.
Why Truto
Why use Truto’s MCP server for ChurnZero
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 1000+ 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
Start with ChurnZero in a free sandbox, usually ready within one business day. No boilerplate, no maintenance burden.
Link your customer’s ChurnZero account
Use Truto’s frontend SDK to connect your customer’s ChurnZero 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 ChurnZero
Truto’s Proxy API is a 1-to-1 mapping of the ChurnZero API. You call us, we call ChurnZero, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate ChurnZero’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about ChurnZero on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What ChurnZero objects can I read through this integration?
Truto exposes read access to accounts, contacts, user accounts, events and event types, churn scores and their factors and calculations, journeys with their instances, milestones, milestone tasks, and progress records, meetings and meeting types, notes and note types, messages, tasks (with priorities and statuses), segments and segment column sets, and surveys with their responses.
Which write operations are supported?
You can create ChurnZero events, create time-in-app records, update account attributes by ID, create account attribute increments, update contact attributes by ID, and create contact attribute increments. Other objects are currently read-only through this integration.
How do end users connect their ChurnZero account?
Your users authenticate their ChurnZero workspace through Truto's hosted connection flow, and Truto manages credential storage and refresh so you never handle ChurnZero API keys directly in your product.
Can I look up accounts or contacts by my own system's ID?
Yes. Dedicated lookup endpoints let you resolve a ChurnZero account or contact by its external ID, which makes it straightforward to map records between your product and ChurnZero without storing ChurnZero IDs everywhere.
How do I keep usage-based health scores fresh?
Stream granular actions via the create event endpoint as they happen, and push session duration via create time-in-app on a cadence that matches your product's telemetry. Both feed directly into ChurnZero's health scoring inputs.
Can I see why an account is at risk, not just the score?
Yes. In addition to the primary churn score, you can list and retrieve churn score factors and factor calculations for an account, which expose the underlying drivers such as low usage or support volume so you can show a full risk breakdown.
Does Truto handle pagination and rate limits for ChurnZero?
Yes. List endpoints are normalized with consistent pagination, and Truto handles ChurnZero's API quirks and rate limit behavior so you can focus on product logic instead of transport details.
ChurnZero
Get ChurnZero integrated into your app
Our team understands what it takes to make a ChurnZero integration successful. A short, crisp 30 minute call with folks who understand the problem.