Use this guide when you want to connect your own CallTrackingMetrics account to Slokoto.
Before you start
- You need admin access in both Slokoto and CTM.
- In CTM, make sure you can access your API credentials.
- Decide how CTM should identify sales-qualified inbound calls.
- Optional: CTM adds the tag
slokoto_sales_callto inbound calls if you want to restrict which calls enter Slokoto. By default, Slokoto imports all CTM activity without tag restrictions. - Prepare your sales team list so Slokoto can match CTM reps to workspace users.
- CTM outbound SMS sending from Slokoto is not part of this phase. Slokoto can ingest CTM texts now, but it does not send CTM SMS yet.
What Slokoto imports from CTM
Slokoto can ingest:
- inbound calls that match your CTM sales routing rule
- missed inbound sales calls
- inbound texts on mapped sales rep numbers or monitored numbers
- outbound calls and outbound texts already logged in CTM when they come from mapped rep numbers or monitored numbers
- CTM transcripts when available
- Slokoto speech-to-text summaries when CTM has a recording but no transcript
What happens after import:
- Slokoto tries to match the activity to an existing lead by normalized phone number.
- If no lead exists for a qualifying inbound call or inbound text, Slokoto creates a new phone-based lead.
- Missed inbound sales calls can still create a callback todo even if nobody answered.
Routing model
By default, Slokoto imports all CTM activity without tag restrictions. This is the simplest setup — connect CTM and all calls and texts flow into Slokoto automatically.
If you want to limit which activities Slokoto imports, you can configure tag-based filtering. This is useful when your CTM account handles both sales and non-sales activity and you only want sales calls in Slokoto.
When tag filtering is configured:
- CTM identifies sales-qualified inbound calls
- CTM tags those calls, recommended tag:
slokoto_sales_call - Slokoto imports only activities that match a configured tag
- Slokoto still imports outbound activity and inbound texts based on mapped rep numbers or monitored numbers
If your company already uses another CTM tag for sales, you can use that tag instead. Update the Slokoto routing rule before going live so it matches your real CTM tag.
If your CTM account already uses multiple sales tags, add all of them in Slokoto's CTM configuration. Slokoto will import the call when the final CTM activity contains any one of the accepted tags.
Important:
- prefer CTM branch, queue, route, or custom field logic over raw keypad digits
- IVR
menu_inputis a fallback routing rule in Slokoto, not the recommended primary rule - missed inbound sales calls still work as long as the final CTM activity is tagged or otherwise matched into the sales route
In CTM: tag sales calls (optional)
Skip this section if you want Slokoto to import all CTM activity. Only set up tagging if you need to restrict which activities Slokoto imports.
Recommended path:
Use Flows -> Workflows so CTM applies the slokoto_sales_call tag after the call is fully processed.
- In CTM, open
Flows -> Workflows. - Create a workflow that runs
At the end of a call/form/chat, once all data has been captured. - Add a condition based on the stable CTM route object you actually use, such as:
- the sales queue
- the sales menu branch
- a custom field set during routing
- only as a last resort, a raw IVR/menu digit
- Add the action
Tag this Call. - Enter
slokoto_sales_call. - Save the workflow.
Why this is the recommended path:
- final routing metadata is more reliable after CTM has fully processed the call
- the same final event includes the status Slokoto uses to detect missed calls
- this matches the same event timing Slokoto expects for the required CTM webhook
Optional alternative:
If your CTM account still uses direct voice-menu actions and that setup is already working correctly, you can also tag the sales branch inside Flows -> Voice Menus (IVR).
If you use that alternative:
- Edit the IVR that handles inbound calls.
- Open the menu item that routes the caller to sales.
- Click
Add Action. - Choose
Tag this Call. - Enter
slokoto_sales_call. - Save the IVR.
Important:
- if you tag in the IVR directly, add the tag on the sales branch item, not only on the top-level menu
- a top-level menu tag can apply to every call that enters that menu
- if workflow-based tagging is available in your account, prefer the workflow path above
Official CTM references:
Find your CTM API credentials
- In CTM, go to
Settings -> Account Settings. - Open
API Integrations. - Enable API access if it is not already enabled.
- Copy the
Account ID.
- Copy the
Access Key.
- Copy the
Secret Key.
What each field maps to in Slokoto:
Account ID-> SlokotoAccount IDAccess Key-> SlokotoAccess KeySecret Key-> SlokotoSecret Key
Important:
- Slokoto uses CTM API credentials, not your CTM login credentials.
- If you paste your CTM email into
Access Key, CTM will reject the test with401 Unauthorized.
Official CTM reference:
Connect CTM in Slokoto
- In Slokoto, open Integrations.
- Find CallTrackingMetrics.
- Click Connect.
- Enter your
Account ID,Access Key, andSecret Key. - Review the enabled CTM signals.
- Click Test.
- If the test succeeds, click Save & Start Monitoring.
After connection, Slokoto stores the CTM account and prepares the CTM webhook endpoint for your workspace.
Configure CTM webhooks
For the best real-time behavior, add CTM webhooks after the connection is saved.
Use this setup model:
| Purpose | Required | CTM trigger | Notes |
|---|---|---|---|
| Final call delivery to Slokoto | Yes | At the end of a call/form/chat, once all data has been captured | This is the default webhook for calls. It includes the final call status that Slokoto uses for missed-call handling. |
| Transcript-ready redelivery | Only for ctm_only mode | When transcription is ready | Use this only if you want Slokoto to wait for CTM's own transcript instead of relying on Slokoto recording transcription fallback. |
In Slokoto:
- Open Integrations.
- Open Configure on CTM.
- In the Status tab of the configure drawer, copy the
Webhook URL. It appears as a copyable field.
In CTM:
- Go to
Settings -> Integrations -> Webhooks. - Create a webhook for
At the end of a call/form/chat, once all data has been captured. - Set the destination URL to the Slokoto
Webhook URL. - Use
POST. - Use
Log Dataas the request body type when CTM asks how to send the activity. - Save the webhook.
Optional only when your Slokoto CTM transcription mode is Use CTM transcript only:
- Create a second webhook for
When transcription is ready. - Point it to the same Slokoto
Webhook URL. - Use
POST. - Use
Log Data.
Why the second webhook is optional:
- in the default
Use CTM transcript, fallback to Slokoto STTmode, Slokoto can transcribe the CTM recording if the final call event has no transcript yet - in
ctm_onlymode, the later transcript-ready webhook lets Slokoto re-ingest the same CTM activity after CTM finishes the transcript
If you also use CTM webhook triggers for text activity, point those to the same Slokoto webhook URL when the payload is compatible.
Official CTM references:
Sync CTM reps before live traffic
Rep mapping matters because Slokoto uses CTM rep identity and direct numbers to decide lead ownership and to include outbound sales activity correctly.
In Slokoto:
- Open Integrations.
- Open Configure on CTM.
- In the Status tab, click
Sync CTM Reps. - Review the matched and unmatched reps.
Best practice:
- make sure CTM user emails match the real sales rep emails where possible
- make sure each rep's direct or personal CTM numbers are present
- fix unmatched reps before turning on live routing for the whole team
If a rep stays unmatched, review the Rep Mapping section and correct the mapping before go-live.
Review routing rules in Slokoto
By default, Slokoto has no tag-based filtering — all CTM activity is imported.
If you want to restrict ingestion to tagged activities only, add your tags:
- Open Configure on CTM.
- Open the Advanced tab.
- Review
Routing Rules. - In
Accepted CTM Sales Tags, add the tags you want to filter by (e.g.slokoto_sales_call). - If you use multiple existing CTM tags, add all of them there. Slokoto will import activities matching any one of them.
- Leave the tags empty to import all CTM activity without restriction.
Important:
- rule order matters
- the first matching rule wins
- when no tags are configured, all activities pass through
- IVR
menu_inputis a fallback option, not the recommended primary rule - prefer CTM branch, queue, route, tag, or custom field matching before digit matching
Set monitored numbers
Use monitored numbers when you want Slokoto to include texts or outbound sales activity based on phone numbers.
In the CTM Advanced tab:
Allowlistlimits CTM activity to the numbers you explicitly monitorBlocklistexcludes numbers even if they would otherwise match
Recommended formatting:
- one number per line
- use full international format, for example
+15551234567
Use monitored numbers when:
- you want to include inbound texts to shared sales lines
- you want outbound activity from specific CTM receiving or direct numbers
- you want to keep support or service lines out of Slokoto
Choose your rollout mode
CTM supports a safe first rollout.
In the CTM Advanced tab:
- In the Advanced tab, leave the Auto-update lead stage toggle off for the first test cycle. When off, Slokoto creates timeline items, summaries, and todos from CTM activity but does not automatically move lead stages or mark leads as lost.
- Turn it on after you trust the CTM signal quality and rep matching accuracy.
Slokoto also includes:
- Recovery Lookback Hours (in the Advanced tab under Recovery Settings): controls how far back Slokoto looks when recovering missed CTM events. Default is
72hours. Adjustable from 1 to 168 hours (7 days). - The Recover Last Nh button in the Status tab triggers an on-demand recovery sync for the configured window.
Configure transcription mode
In the CTM Advanced tab, under Recovery Settings, choose the transcription mode:
| Mode | Behavior |
|---|---|
| Use CTM transcript, fallback to Slokoto STT (default) | Slokoto uses the CTM transcript if available. If the call has a recording but no CTM transcript yet, Slokoto runs its own speech-to-text. |
| Use CTM transcript only | Slokoto only uses CTM's own transcript. If CTM has not transcribed the call, no transcript is stored. |
If you select Use CTM transcript only, you must also configure the optional When transcription is ready webhook in CTM so that Slokoto receives the transcript after CTM finishes processing. See the webhook section above for details.
What to test first
Run these tests in this order:
- One inbound call that should receive the sales tag.
- One missed inbound call that should receive the sales tag.
- One inbound text to a mapped rep number or monitored number.
- One existing lead where you add or confirm the phone number and let Slokoto hydrate CTM history for that lead.
Expected results:
- a matching lead gets a new CTM timeline item
- a missing lead is created from the phone number
- missed inbound sales calls create a callback todo
- rep ownership can update when CTM clearly maps the activity to a sales rep
Historical calls and old data
Connecting CTM does not mean Slokoto will import your entire CTM history automatically.
Phase 1 behavior:
- Slokoto recovers a recent rolling window
- Slokoto can hydrate CTM history for a specific lead once that lead has a known phone number
- if you want older inbound calls to qualify under the sales route, those old calls must already carry the matching CTM tag or rule data
If you add the slokoto_sales_call tag today, that change affects future calls automatically. Older CTM activities may need manual tagging or CTM-side backfill work if you want them treated as sales history.
Troubleshooting
Calls are not appearing in Slokoto
Check:
- the inbound call really received the CTM sales tag
- the Slokoto routing rule matches the exact tag value
- the CTM number is not blocklisted
- the rep or monitored number setup is correct for texts and outbound activity
- CTM webhooks point to the Slokoto webhook URL
- the required CTM webhook uses
At the end of a call/form/chat, once all data has been captured - if you selected
Use CTM transcript only, the optionalWhen transcription is readywebhook is also configured
Reps are not matching correctly
Check:
- CTM user email addresses
- CTM direct or personal numbers
- the
Sync CTM Repsresult in Slokoto - any manual
Rep Mappingoverrides
The lead was not created
Check:
- the activity was inbound
- the activity matched the sales route
- the caller phone number exists in CTM and was delivered in a normal format
- if the call was missed, make sure the final CTM activity still carried the sales tag or other qualifying route data