Custify is a customer success platform for B2B SaaS companies that helps teams reduce churn and grow customer lifetime value. It consolidates CRM, billing, product usage, and support data into a 360-degree customer view, with health scores, lifecycle management, automated playbooks, segmentation, and churn analytics across the customer journey.
Power end-to-end data operations for your Custify API with Nexla. Our bi-directional Custify connector is purpose-built for Custify, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Custify or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Custify workflows fast, secure, and fully governed.
Features
Type: API
SourceDestination
Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
To connect Nexla to your Custify account, you will need a Custify API key. Custify uses API key authentication, passing the key as a Bearer token in the Authorization header of every API request.
Custify API keys are generated from within your account settings. You must have an active Custify account with access to the developer settings to complete these steps.
Access the API key settings using one of the following paths:
Via My Account: Click your account name or avatar in the upper-right corner of the screen, select My Account from the dropdown menu, then click API Access in the left sidebar.
Via Settings: Navigate to Settings > Developer > API Key in the main navigation.
On the API Access page, click the Generate API Key button.
Copy the generated API key immediately and store it in a secure location. This key is displayed only once and grants full API access to your Custify account data.
Important
Treat your Custify API key as a sensitive credential. Anyone with access to this key can read and write data in your Custify account. If you believe a key has been compromised, generate a new key from the Custify API Access settings and update your Nexla credential accordingly.
For complete information about the Custify API and authentication, refer to the Custify API documentation.
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
Enter your Custify API key in the API Key field. This key was generated in the steps above under Generate a Custify API Key. Custify authenticates all API requests using this key, passed as a Bearer token; Nexla automatically includes it in the Authorization header of every request made to the Custify API on your behalf.
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Custify connector tile, then select the credential that will be used to connect to the Custify instance, and click Next; or, create a new Custify credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Custify endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.
Get People
Retrieves all people (contacts/users) from your Custify account. Use this endpoint to pull your full contact list for analysis, enrichment, or syncing to downstream systems. Supports filtering by email, company, or last-updated date.
Optionally, configure the following endpoint settings to control what data is retrieved:
Page Size: Enter the number of people records to fetch per page. The maximum value is 100, and the default is 100. Reducing this value can help in environments with strict rate limits.
Updated After: Enter an ISO 8601 date and time to filter results to only people updated after that point (for example, 2024-01-01T00:00:00Z). By default, Nexla uses the macro {now-30} to retrieve records updated in the last 30 days, enabling incremental data ingestion on each run.
The Offset parameter is managed automatically by Nexla to handle pagination across large datasets. You do not need to configure it manually. For complete information about the People API, refer to the Custify API documentation.
Get Person by ID
Retrieves a single person record from Custify by their unique Custify person ID. Use this endpoint when you need to pull detailed profile data for a specific contact rather than fetching your entire contact list.
Person ID (required): Enter the unique Custify ID of the person you want to retrieve. Custify person IDs can be found in the URL when viewing a person's profile in the Custify app, or in the id field of records returned by the Get People endpoint. This field is required.
This endpoint returns a single record rather than a paginated list. For retrieving all people or filtering by date, use the Get People endpoint instead.
Get Companies
Retrieves all companies from your Custify account, including health scores, lifecycle stage, MRR, and custom attributes. Use this endpoint to analyze your company portfolio, segment accounts, or sync company data to external analytics or CRM tools.
Optionally, configure the following endpoint settings to control what data is retrieved:
Page Size: Enter the number of company records to fetch per page. The maximum value is 100, and the default is 100.
Updated After: Enter an ISO 8601 date and time to filter results to only companies updated after that point (for example, 2024-01-01T00:00:00Z). By default, Nexla uses the macro {now-30} to retrieve records updated in the last 30 days, enabling incremental ingestion on each run.
Pagination is managed automatically by Nexla. For complete information about the Company API, refer to the Custify API documentation.
Get Company by ID
Retrieves a single company record from Custify by its unique company ID. Use this endpoint when you need complete details for a specific account rather than retrieving your full company list.
Company ID (required): Enter the unique Custify company_id of the company you want to retrieve. Company IDs can be found in the Custify app on the company's detail page, or in the company_id field of records returned by the Get Companies endpoint. This field is required.
Get Company People
Lists all people (contacts) associated with a specific company in Custify. Use this endpoint to retrieve the full contact roster for an account, which is useful for account-level reporting or targeted outreach workflows.
Company ID (required): Enter the unique Custify company_id of the company whose associated people you want to list. This field is required.
This endpoint returns all people linked to the specified company. To retrieve people across all companies, use the Get People endpoint instead.
Get Subscriptions
Retrieves all subscriptions from your Custify account, including MRR, plan name, subscription status, and renewal dates. Use this endpoint to analyze revenue data, track churn risk by subscription, or sync billing information to downstream systems.
Optionally, configure the following endpoint settings:
Page Size: Enter the number of subscription records to fetch per page. The maximum value is 100, and the default is 100.
Pagination is managed automatically by Nexla. For complete information about the Subscription API, refer to the Custify API documentation.
Get Invoices
Retrieves all invoices from your Custify account, including amount, status, due date, and associated company. Use this endpoint to analyze billing history, track outstanding payments, or reconcile invoice data with external financial systems.
Optionally, configure the following endpoint settings:
Page Size: Enter the number of invoice records to fetch per page. The maximum value is 100, and the default is 100.
Pagination is managed automatically by Nexla. For complete information about the Invoice API, refer to the Custify API documentation.
Get Deals
Retrieves all deals from your Custify account, including deal stage, value, expected close date, and associated company. Use this endpoint to track expansion opportunities, analyze deal pipeline data, or sync deal information to a CRM or reporting tool.
Optionally, configure the following endpoint settings:
Page Size: Enter the number of deal records to fetch per page. The maximum value is 100, and the default is 100.
Pagination is managed automatically by Nexla. For complete information about the Deal API, refer to the Custify API documentation.
Get Tasks
Retrieves all tasks from your Custify account, including assignee, due date, status, and the linked company or person. Use this endpoint to monitor team workloads, track open action items, or integrate task data with project management tools.
Optionally, configure the following endpoint settings:
Page Size: Enter the number of task records to fetch per page. The maximum value is 100, and the default is 100.
Pagination is managed automatically by Nexla. For complete information about the Task API, refer to the Custify API documentation.
Get Notes
Retrieves all notes from your Custify account associated with companies or people. Use this endpoint to export call summaries, meeting notes, or other free-text observations logged by your customer success team.
Optionally, configure the following endpoint settings:
Page Size: Enter the number of note records to fetch per page. The maximum value is 100, and the default is 100.
Pagination is managed automatically by Nexla. For complete information about the Note API, refer to the Custify API documentation.
Get Tags
Retrieves all tags defined in your Custify account. Tags are used in Custify to segment and categorize people and companies, enabling targeted playbooks and filtered views. Use this endpoint to export your tag taxonomy for use in reporting or segmentation pipelines.
No additional configuration is required for this endpoint. Nexla will retrieve all tags available in your Custify account.
Get Tickets
Retrieves support tickets from your Custify account linked to companies or people. Use this endpoint to analyze support volume, track ticket resolution data, or integrate Custify ticket data with external helpdesk reporting tools.
Optionally, configure the following endpoint settings:
Page Size: Enter the number of ticket records to fetch per page. The maximum value is 100, and the default is 100.
Pagination is managed automatically by Nexla. For complete information about the Ticket API, refer to the Custify API documentation.
Get Comments
Retrieves all comments from your Custify account associated with notes or tickets. Use this endpoint to capture the full conversation thread on customer interactions for analysis or archival purposes.
Optionally, configure the following endpoint settings:
Page Size: Enter the number of comment records to fetch per page. The maximum value is 100, and the default is 100.
Pagination is managed automatically by Nexla. For complete information about the Comment API, refer to the Custify API documentation.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Custify data sources can also be manually configured to ingest data from any valid Custify API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
All Custify API endpoints use the base URL https://app.custify.com/api/ followed by the resource path — for example, https://app.custify.com/api/people for people, https://app.custify.com/api/company for companies, or https://app.custify.com/api/subscription for subscriptions. Date/time macros are particularly useful with Custify's updated_after query parameter — for example, appending ?updated_after={'{now-7}'} to the people endpoint URL retrieves only people updated in the last 7 days — and lookup-based macros can pass a company or person ID directly into the URL, such as https://app.custify.com/api/company/{'{company_id}'}/people.
Custify list responses wrap records in a named array, such as $.people[*] for people, $.companies[*] for companies, $.subscriptions[*] for subscriptions, $.deals[*] for deals, $.tasks[*] for tasks, $.notes[*] for notes, $.tickets[*] for tickets, and $.tags[*] for tags — and often include a top-level total field alongside the array, which can be captured as metadata if needed. The Custify Authorization header is handled automatically by Nexla based on your credential configuration and does not need to be added as a request header.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Custify data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Click the + icon on the Nexset that will be sent to the Custify destination, and select the Send to Destination option from the menu. Select the Custify connector from the list of available destination connectors, then select the credential that will be used to connect to the Custify organization, and click Next; or, create a new Custify credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Custify endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Upsert Person
Creates or updates a person (contact) record in Custify. If a person with the same user_id or email already exists in Custify, that record will be updated; otherwise, a new person record will be created. Use this endpoint to sync contact data from your CRM, data warehouse, or product database into Custify.
Map your Nexset fields to the Custify person object fields. At minimum, include one of the following fields to allow Custify to match existing records:
user_id: Your internal unique identifier for the user. This is the primary match key used by Custify for upsert operations.
email: The person's email address, used as a secondary match key if user_id is not provided.
Additional person fields you can include in the payload are: name, phone, signed_up_at, churned_at, plan, company_id, and any custom attributes defined in your Custify account.
Custify will automatically create or update the record based on the match key. For complete information about the people upsert API and accepted fields, refer to the Custify API documentation.
Upsert Company
Creates or updates a company (account) record in Custify. If a company with the matching company_id already exists, it will be updated; otherwise, a new company record will be created. Use this endpoint to sync account data from your CRM, billing system, or data warehouse into Custify to keep company health data current.
Map your Nexset fields to the Custify company object fields. The following field is required for matching:
company_id: Your internal unique identifier for the company. Custify uses this as the primary match key for upsert operations.
Additional company fields you can include are: name, website, plan, size, mrr, churned_at, signed_up_at, industry, and any custom attributes defined in your Custify account.
Custom company attributes configured in your Custify account can also be included in the payload. For complete information about accepted fields, refer to the Custify API documentation.
Upsert Subscription
Creates or updates a subscription record for a company in Custify, including plan details, MRR, and renewal dates. Use this endpoint to sync subscription and billing data from your payment processor or billing system into Custify to power revenue-based health scores and churn risk analysis.
Map your Nexset fields to the Custify subscription object fields. Key fields include:
company_id: The unique identifier of the company this subscription belongs to.
plan: The name of the subscription plan.
mrr: Monthly recurring revenue for this subscription.
start_date: The subscription start date in ISO 8601 format.
renewal_date: The upcoming renewal date in ISO 8601 format.
status: The subscription status (e.g., active, canceled, trialing).
Keeping subscription data current in Custify is essential for accurate MRR-based health scores and churn risk detection. For complete information about accepted subscription fields, refer to the Custify API documentation.
Upsert Invoice
Creates or updates an invoice record in Custify for a company. Use this endpoint to sync invoice and payment data from your billing system into Custify to provide customer success managers with a complete financial picture of each account.
Map your Nexset fields to the Custify invoice object fields. Key fields include:
company_id: The unique identifier of the company associated with this invoice.
amount: The invoice amount.
status: The invoice status (e.g., paid, pending, overdue).
due_date: The invoice due date in ISO 8601 format.
Creates or updates a deal record in Custify with stage, value, and company associations. Use this endpoint to sync expansion or upsell opportunity data from your CRM into Custify, enabling customer success managers to track and act on revenue opportunities from within the platform.
Map your Nexset fields to the Custify deal object fields. Key fields include:
company_id: The unique identifier of the company associated with this deal.
name: The deal name or title.
stage: The current stage of the deal in your pipeline.
value: The monetary value of the deal.
close_date: The expected or actual close date in ISO 8601 format.
Sends a product usage or behavioral event to Custify tied to a specific user and company. Events are used by Custify to calculate health scores and trigger automated playbooks based on customer activity signals. Use this endpoint to stream product usage data, feature adoption events, or any custom behavioral signals from your application into Custify.
Map your Nexset fields to the Custify event object. Key fields include:
user_id: The unique identifier of the user who performed the event. Must match the user_id of an existing person in Custify.
company_id: The unique identifier of the company associated with the event.
name: The name of the event (e.g., feature_used, login, export_completed).
created_at: The timestamp when the event occurred, in ISO 8601 format.
Custom event properties can also be included as additional key-value pairs in the payload, allowing you to pass context such as feature names, plan tiers, or usage counts alongside each event.
Events are the primary signal used by Custify to compute health scores and trigger playbooks. For complete information about the event schema and accepted fields, refer to the Custify API documentation.
Create Task
Creates a task in Custify with an assignee, due date, and a link to a company or person. Use this endpoint to automatically generate customer success tasks from external triggers—for example, creating a follow-up task when a health score drops below a threshold or when a renewal date is approaching.
Map your Nexset fields to the Custify task object. Key fields include:
name: The task title or description.
due_date: The task due date in ISO 8601 format.
assignee_email: The email address of the Custify user to whom the task should be assigned.
company_id: The unique identifier of the company linked to this task.
person_id: The unique identifier of the person linked to this task (optional).
Creates a note in Custify linked to a company or person. Use this endpoint to automatically log AI-generated call summaries, meeting transcripts, support ticket summaries, or other free-text observations into Custify so customer success managers always have context on customer interactions.
Map your Nexset fields to the Custify note object. Key fields include:
text: The content of the note.
company_id: The unique identifier of the company to which this note should be linked.
person_id: The unique identifier of the person to which this note should be linked (optional).
created_at: The timestamp for the note in ISO 8601 format.
Notes created via the API will appear in the company or person's activity timeline within Custify. For complete information about accepted note fields, refer to the Custify API documentation.
Upsert Custom Data Object
Adds or updates a custom data object in Custify. Custom data objects allow you to store structured, domain-specific data beyond the standard Custify schema—such as AI feature usage metrics, product KPIs, or industry-specific measurements—and surface that data in health scores and customer profiles.
Map your Nexset fields to the Custify custom object schema. The payload structure depends on the custom object type configured in your Custify account. Typically, the payload includes:
type: The name/type of the custom data object as configured in Custify.
company_id: The unique identifier of the associated company.
Any custom fields defined for the object type in your Custify account configuration.
Custom data object schemas must be defined in your Custify account before data can be written to them. For complete information about custom data objects and accepted fields, refer to the Custify API documentation.
Send Batch Request
Sends multiple Custify API operations in a single batch request, supporting bulk upserts for people and companies. Use this endpoint when you need to efficiently load large volumes of person or company records into Custify in a single operation, reducing the number of API calls required.
This endpoint uses Custify's batch API at https://app.custify.com/api/batch, which accepts up to 500 records per request. Nexla will automatically chunk your data into batches of up to 500 records.
Each item in the batch payload should be a valid Custify API operation object. For example, to batch-upsert people, each item should follow the same schema as a single person upsert. Key fields per record include:
user_id or email: The match key used to identify existing records for upsert operations.
Any additional person or company fields appropriate for the batch operation type.
The batch endpoint is the recommended approach for initial data loads or large-scale synchronization jobs. For complete information about the Custify batch API and supported operation types, refer to the Custify API documentation.
Custify destinations can also be manually configured to send data to any valid Custify API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
Custify's REST API accepts JSON for all write operations. All Custify API write endpoints use the base URL https://app.custify.com/api/ followed by the resource path — for example, https://app.custify.com/api/people to upsert a person, https://app.custify.com/api/company to upsert a company, https://app.custify.com/api/event to insert an event, https://app.custify.com/api/note to create a note, or https://app.custify.com/api/batch to send a batch of operations. The Custify Authorization header is handled automatically by Nexla based on your credential configuration and does not need to be added as a request header.
The Custify batch endpoint (/api/batch) accepts up to 500 records per request; when configuring record batching for this endpoint, enter batch as the Property Name so records are nested under the JSON property Custify expects.
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to Custify, open the destination resource menu, and select Activate.
The Nexset data will not be sent to Custify until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.