The connector only reads data. It never creates, changes or deletes anything in CustomerX.
Configuring CustomerX as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the CustomerX option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
The connector uses the API token of a CustomerX user. To copy it:- Log in to CustomerX with an administrator user. The API returns only what the token’s user can see, so a CSM’s token may leave out clients of other portfolios and other users’ task boards.
- Open the menu at the top right, click Ver Perfil (View profile) and copy the Api Token field.
- API Token: the token copied above. It stops working when its user is deactivated or the token is regenerated.
- Start Date (advanced): only records changed on or after this date are extracted by the incremental streams (clients, contacts, contract additives, tasks, journey tasks, tickets, ticket activities and timeline events), and client health scores start at this date’s month. Leave it empty to extract the whole history.
- Lookback Days (advanced): (Default: 1) how many days before the last extracted point each run reads again.
- Full Refresh Days (advanced): (Default: 7) every this many days, the incremental streams of clients, contacts, contract additives, tasks, journey tasks and tickets read every record again. CustomerX may change tags, custom field values, labels, checklists or a client’s contract status without changing the record’s last update date; this refresh keeps those columns at most this many days behind. Set 0 to turn it off.
- Max Requests per Minute (advanced): (Default: 40) how many requests per minute each run may make.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.Tip: The stream can be found more easily by typing its name.
The other streams cost about one request per 100 records the first time and much less afterwards.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: Clients, Contacts, Contract Additives, Tasks, Journey Tasks, Tickets, Ticket Activities, Timeline Events and Client Health Scores support INCREMENTAL, which is the recommended type for them. Contracts, NPS and CSAT answers, the churn risk and the registers (users, segments, tags and others) are FULL_TABLE: they are read in full on every run, so their tables always show the current state. Read more about Sync Types here.
CustomerX has no way to list deleted records. An incremental table keeps a record deleted in CustomerX until the next full sync; a FULL_TABLE table drops it on the next run. Ticket Activities and Timeline Events are not part of the periodic re-read (Full Refresh Days): a full sync refreshes them.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. Once a day is usually enough for customer success analysis; if you select Client Health Scores, make sure a run fits between two triggers. Optionally, you can define some additional settings:- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. It reads every record again (removing records deleted in CustomerX from the incremental tables); a monthly one is enough.
5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Before writing anything, each run checks that the token can read every selected stream: one request per stream, plus every active user’s task board for Board Steps and the client list and one client’s scores for Client Health Scores. If a full-table stream is not readable (for example, other users’ boards with a token that is not an administrator’s), the run stops before writing and the log lists the streams to deselect or the access to grant; an incremental stream that is not readable is skipped with a warning and its table is kept as it is.
Streams and Fields
Available streams
The table below lists every stream, its slug (the exact identifier to pass when creating the source via API) and a short description.
Nested values (tags, phones, custom field values, labels, checklists) are JSON text. Records that have their own stream appear as ids in the others (for example
client_id in contacts, tasks and tickets). Every timestamp is in UTC. Fields CustomerX returns that have no column yet are kept in extra_fields.
Fields by stream
Clients and contracts
Clients
Clients
Every client (customer account) managed in CustomerX, with address, status derived from its contracts, segment, group, line of business, portfolio, tags, phones and custom field values.Table:
clients · Primary key: id · Sync: Incremental (updated_at)Contacts
Contacts
People at each client, with role, phones and custom field values.Table:
contacts · Primary key: id · Sync: Incremental (updated_at)Contracts
Contracts
Contracts of each client: values, periods, plan, seller, renewal and cancellation.Table:
contracts · Primary key: id · Sync: Full tableContract Additives
Contract Additives
Amendments to contracts (upsells and downsells) with the value before and after each one.Table:
contract_additives · Primary key: id · Sync: Incremental (updated_at)Contract Plans
Contract Plans
Plans that contracts can be linked to.Table:
contract_plans · Primary key: id · Sync: Full tableSurveys
NPS Responses
NPS Responses
Answers to NPS surveys: score, comment, send and answer dates, client and contact.Table:
nps_responses · Primary key: id · Sync: Full tableCSAT Responses
CSAT Responses
Answers to CSAT surveys: score, comment, dates, client and the question answered.Table:
csat_responses · Primary key: id · Sync: Full tableCSAT Questions
CSAT Questions
Questions of the CSAT surveys.Table:
csat_questions · Primary key: id · Sync: Full tableTasks, tickets and timeline
Tasks
Tasks
Tasks of the CSM task board, with client, responsible user, schedule, completion and labels.Table:
tasks · Primary key: id · Sync: Incremental (updated_at)Journey Tasks
Journey Tasks
Tasks of the clients’ journeys, with the journey step they belong to, responsible user, schedule, completion and checklists.Table:
journey_tasks · Primary key: id · Sync: Incremental (updated_at)Tickets
Tickets
Support tickets with type, priority, status, agent, deadlines, client and contact.Table:
tickets · Primary key: id · Sync: Incremental (updated_at)Ticket Activities
Ticket Activities
Activities logged on tickets.Table:
ticket_activities · Primary key: id · Sync: Incremental (updated_at)Timeline Events
Timeline Events
Events of the clients’ timelines (new contracts, changes, notes).Table:
timeline_events · Primary key: id · Sync: Incremental (updated_at)Indicators
Client Health Scores
Client Health Scores
Monthly health score history of every client, one row per client and month. The current month is dated the day it was read and changes until the month closes. Costs one request per client on every run.Table:
client_health_scores · Primary key: client_id, reference_month · Sync: Incremental (date)Clients Churn Risk
Clients Churn Risk
Churn risk CustomerX currently assigns to each client.Table:
clients_churn_risk · Primary key: external_id_client · Sync: Full tableRegisters
Users
Users
Users of your CustomerX account (CSMs and administrators).Table:
users · Primary key: id · Sync: Full tableBoard Steps
Board Steps
Lists (steps) of each active user’s CSM task board. Users marked inactive in CustomerX are skipped.Table:
board_steps · Primary key: id · Sync: Full tableJourney Templates
Journey Templates
Journey templates the clients’ journeys are created from.Table:
journey_templates · Primary key: id · Sync: Full tableSegments
Segments
Client segments.Table:
segments · Primary key: id · Sync: Full tableGroups
Groups
Client groups.Table:
groups · Primary key: id · Sync: Full tableServices
Services
Lines of business (ramos de atividade) of the clients.Table:
services · Primary key: id · Sync: Full tablePortfolios
Portfolios
Portfolios (carteiras) grouping clients and the users who handle them.Table:
portfolios · Primary key: id · Sync: Full tableSellers
Sellers
Sellers linked to contracts.Table:
sellers · Primary key: id · Sync: Full tableProducts
Products
Products linked to journeys and contracts.Table:
products · Primary key: id · Sync: Full tableContact Types
Contact Types
Types of contact.Table:
contact_types · Primary key: id · Sync: Full tableCustom Fields
Custom Fields
Definitions of the custom fields of clients and contacts. Their values are in the custom_attributes column of clients and contacts.Table:
custom_fields · Primary key: type_operation, id · Sync: Full table