Skip to main content

CallRail

CallRail is a call tracking and lead intelligence platform that helps businesses understand which marketing campaigns, keywords, and channels are driving phone calls, form submissions, and text messages. Using Dynamic Number Insertion (DNI), CallRail assigns unique tracking phone numbers to different marketing sources so every inbound call can be attributed to the correct campaign. Beyond tracking, CallRail provides Conversation Intelligence—AI-powered call transcription, keyword spotting, and sentiment analysis—to surface actionable insights from every customer interaction. Marketing teams, agencies, and customer success organizations use CallRail to measure advertising ROI, optimize spend across paid search, SEO, and offline channels, and feed enriched call data into CRMs, analytics platforms, and marketing automation tools.

CallRail icon

Power end-to-end data operations for your CallRail API with Nexla. Our bi-directional CallRail connector is purpose-built for CallRail, 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 CallRail or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your CallRail 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

Prerequisites

To connect Nexla to your CallRail account, you will need a CallRail API v3 key. CallRail uses token-based API key authentication: the key is sent in the Authorization HTTP request header using the format Token token="YOUR_API_KEY". Every request Nexla makes to the CallRail API on your behalf will include this header automatically once you save your credential.

Generate a CallRail API Key

API keys are created and managed from within the CallRail application. You must have an active CallRail account to complete these steps.

  1. Log in to your CallRail account at app.callrail.com.

  2. Open the Integrations Library by clicking Integrations in the left navigation panel, or navigate directly to Settings > Data Access > API Keys from the left sidebar.

  3. Click Create New API v3 Key to generate a new API key.

  4. Copy the generated API key immediately and store it in a secure location such as a password manager. CallRail displays the key only once — it cannot be retrieved after you leave the page.

Important

Your CallRail API key grants read and write access to your CallRail account data, including call recordings, tracking numbers, and company settings. Treat it with the same level of security as a password. If you believe a key has been compromised, delete it from the API Keys section in CallRail and generate a new one, then update your Nexla credential accordingly.

CallRail API keys are user-specific — each user can only view and manage their own keys, even at the Admin level. API keys do not expire automatically; the only way to invalidate a key is to delete it from the CallRail API Keys settings page. For complete information about the CallRail API and authentication, refer to the CallRail API v3 documentation.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your CallRail API key in the API Key field. This is the key generated in the steps above under Generate a CallRail API Key. The CallRail API authenticates all requests using a token-based API key scheme, and Nexla will automatically include the key in the Authorization: Token token="..." header of every request sent to https://api.callrail.com/v3/ on your behalf.

  4. 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 and can be selected for use with a new data source or destination.

Use as a data source

The CallRail connector enables you to ingest call tracking and analytics data — including calls, text messages, form submissions, companies, tracking numbers, and account information — from your CallRail account into Nexla. This is particularly useful for marketing analytics pipelines that need to combine CallRail attribution data with CRM records, advertising spend data, or business intelligence tools.

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the CallRail connector tile, then select the credential that will be used to connect to the CallRail account, and click Next; or, create a new CallRail credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common CallRail endpoints. Each template is designed specifically for the corresponding CallRail endpoint, making data source setup easy and efficient. 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.

List Calls

Returns a list of all calls for the account. Use this endpoint to ingest call tracking records — including caller details, duration, tracking number, and attribution data — for marketing analytics and reporting.

Supports date-range filtering via start_date and end_date query parameters. Use date/time macros to implement incremental ingestion and avoid pulling the full call history on every run.

List Text Messages

Returns a list of all text message conversations for the account. Use this endpoint to ingest SMS lead interactions from CallRail for multi-channel marketing analysis.

Text message records include conversation threads, timestamps, and tracking number attribution. Pagination is supported via page and per_page query parameters.

List Users

Returns a list of all users in the account. Use this endpoint to retrieve CallRail user records for access auditing or associating call activity with specific team members.

User records include name, email, role, and account association. This endpoint returns users across all companies in the account.

List Companies

Returns a list of all companies associated with the account. Use this endpoint to retrieve the companies configured in your CallRail account, which are used to organize tracking numbers and calls.

Company records include company name, time zone, and associated tracking settings. Company IDs from this endpoint can be used with lookup-based macros to scope other endpoints (such as calls) to a specific company.

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.

Manual configuration

CallRail data sources can also be manually configured to ingest data from any valid CallRail API v3 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.

The CallRail API v3 base URL is https://api.callrail.com/v3/, and all data-retrieval endpoints use the GET method. Common endpoints include https://api.callrail.com/v3/a/{account_id}/calls.json (calls), .../companies.json (companies), .../trackers.json (tracking numbers), .../text-messages.json (text messages), and .../form-submissions.json (form submissions), plus https://api.callrail.com/v3/a.json to list all accessible accounts; replace {account_id} with your CallRail account ID, which can be retrieved from the /v3/a.json accounts endpoint. Because most CallRail list endpoints wrap the record array inside a named JSON property alongside pagination metadata, set the Path to Data accordingly — for example $.calls[*], $.companies[*], $.trackers[*], $.text_messages[*], or $.form_submissions[*]. The calls endpoint supports date-range filtering via start_date and end_date query parameters, which you can combine with date/time macros for incremental ingestion. You do not need to add the Authorization header — Nexla adds the token from your saved credential to every request automatically. For all available endpoints and query parameters, see the CallRail API v3 documentation.

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 CallRail 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.

Use as a destination

Click the + icon on the Nexset that will be sent to the CallRail destination, and select the Send to Destination option from the menu. Select the CallRail connector from the list of available destination connectors, then select the credential that will be used to connect to the CallRail account, and click Next; or, create a new CallRail credential for use in this flow.

Manual configuration

CallRail destinations can be manually configured to send data to any valid CallRail API v3 endpoint — common write operations include creating companies, creating or updating trackers, placing outbound calls, and sending text messages. 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.

CallRail write operations use POST to create records, PUT to fully replace a record, PATCH to partially update fields, and DELETE to remove records; the CallRail API v3 accepts and returns JSON, so select JSON as the content format. Endpoint URLs use the same base as the source — for example https://api.callrail.com/v3/a/{account_id}/companies.json (create a company) or https://api.callrail.com/v3/a/{account_id}/companies/{company_id}.json (update a company) — and for update or delete operations you include the ID of the target object at the end of the URL path. You do not need to add the Authorization header, as Nexla adds the token from your saved credential automatically. You can also enable the response webhook to process each API response as a Nexla webhook source, which is useful for capturing the IDs of newly created companies or trackers returned by the CallRail API.

Save & activate

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 the configured CallRail endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the CallRail API until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.