Thursday, 12 June 2025
JW
Jonas WeberIntegration Engineer · 09:37
Anyone got the OAuth flow for the platform APIs working? I want to script the token.
in thread “oauth”
OM
Omid MohajeraniSenior Voice Engineer · 10:14
client_credentials works. Register the app, grab client id and secret, POST to /oauth/token with grant_type=client_credentials. Token lasts about a month.
in thread “oauth”
JW
Jonas WeberIntegration Engineer · 10:51
Perfect, that worked. Thanks.
in thread “oauth”
Tuesday, 18 November 2025
PR
Priya RamanDelivery Lead · 09:37
Reminder that the official docs are the source of truth for customer-facing statements. If something in here contradicts them, raise it.
Tuesday, 19 May 2026
JW
Jonas WeberIntegration Engineer · 09:37
SFTP export connector won't connect on the acc server. Sprinklr just says there's an issue with the connection details. Host, port, user, directory and key are all correct - I've triple checked and I can sftp in myself from my laptop with the same key.
in thread “sftp”
JW
Jonas WeberIntegration Engineer · 10:14
Docs just say verify the connection details and check the firewall. Firewall is open, I can see the connection arrive.
in thread “sftp”
Wednesday, 20 May 2026
OM
Omid MohajeraniSenior Voice Engineer · 09:37
This is not a credentials problem. Check /var/log/auth.log - I bet you see 'Disconnected ... [preauth]' mid-authentication.
in thread “sftp”
JW
Jonas WeberIntegration Engineer · 10:14
Yes! Exactly that. What is it?
in thread “sftp”
OM
Omid MohajeraniSenior Voice Engineer · 10:51
Sprinklr's SFTP connector uses an old SSH client that signs RSA keys with the legacy ssh-rsa signature, which is SHA-1. OpenSSH 8.8 and later disabled SHA-1 RSA signatures by default and only accept rsa-sha2-256 or rsa-sha2-512. The server rejects the signature type and drops the connection. The UI surfaces that as a generic connection error, which is why it looks like bad credentials.
in thread “sftp”
OM
Omid MohajeraniSenior Voice Engineer · 11:28
Quick fix for test, scoped to the sftp group only:
Match Group sftpusers
PubkeyAcceptedAlgorithms +ssh-rsa
then systemctl reload sshd. The rest of the box keeps modern defaults.
in thread “sftp”
OM
Omid MohajeraniSenior Voice Engineer · 12:05
For production do it the other way round - use an ed25519 or ECDSA key for the destination and avoid SHA-1 entirely. Only re-enable ssh-rsa server-side, narrowly scoped, if you have no choice.
in thread “sftp”
PR
Priya RamanDelivery Lead · 12:42
Can we get this into the docs? It cost Jonas two days.
in thread “sftp”
OM
Omid MohajeraniSenior Voice Engineer · 13:19
Raised it. Not holding my breath.
in thread “sftp”
Wednesday, 24 June 2026
MN
Marek NowakPlatform Engineer · 09:37
Is there a GET callback-status API? I need callback completion out to our system and I can't find an endpoint.
in thread “callback”
Thursday, 25 June 2026
OM
Omid MohajeraniSenior Voice Engineer · 09:37
There isn't one. Don't keep looking. It's a push, not a pull.
in thread “callback”
Monday, 29 June 2026
OM
Omid MohajeraniSenior Voice Engineer · 09:37
Proven on prod19 today. Campaign Post Call Workflow journey -> External REST API connector -> your authenticated webhook. Correlation works: Schedule Callback returns a taskId and it comes back on the call as VOICE_CONVERSATION.SCHEDULED_CALLBACK_TASK_ID, so the push can carry it and the receiver matches it up.
in thread “callback”
OM
Omid MohajeraniSenior Voice Engineer · 10:14
Gotchas, each of which cost me real time:
- Register an External REST API first (All Settings -> APIs and Integrations). The journey API node has no inline URL, only a connector dropdown.
- Map values with the resource PICKER, not raw VOICE_CONVERSATION.x in custom code. In Post Call Workflow context only PROFILE is populated, so raw Groovy returns null.
- The OpenAPI spec on a connector is read-only after creation. To rename a body field you recreate the connector.
- Callbacks only exist on a Callback dialer profile. Preview dials have no callback task, so callbackTaskId comes back empty.
in thread “callback”
MN
Marek NowakPlatform Engineer · 10:51
This should be a docs page on its own.
in thread “callback”
Thursday, 2 July 2026
OM
Omid MohajeraniSenior Voice Engineer · 09:37
Heads up - client_credentials is not enabled any more, you get 'Default Admin User Not Setup'. Use the auth-code flow instead: browser, logged in, hit /oauth/authorize with client_id and redirect_uri, submit, pick the client, submit, then exchange the code at /oauth/token. Headers on calls are Authorization: Bearer <token> plus Key: <client_id>.
in thread “oauth2”
⚠ overturns an earlier answerJW
Jonas WeberIntegration Engineer · 10:14
Ah - that's why my script broke last week. I assumed I'd broken it myself and rewrote the whole thing.
in thread “oauth2”
Wednesday, 22 July 2026
MN
Marek NowakPlatform Engineer · 09:37
Dialer isn't calling on the Wechsler UAT tenant. Segment says Data Exhausted but Number of Callable Records is non-zero and Attempted Records is 0.
in thread “exhausted”
Thursday, 23 July 2026
MN
Marek NowakPlatform Engineer · 09:37
Best guess: Data Exhausted is sticky - updating the leads doesn't reopen a segment that already finished its pass. Probably need a fresh segment on the same filter rather than another upload.
in thread “exhausted”
⚠ the author flagged this as unprovenMN
Marek NowakPlatform Engineer · 10:14
Flagging that as a guess, not a finding. I haven't proven it.
in thread “exhausted”
⚠ the author flagged this as unprovenOM
Omid MohajeraniSenior Voice Engineer · 10:51
Rechurn is not the lever either - its job is overriding attempt limits for leads that HAVE been attempted. With Attempted Records 0 there's no limit to override.
in thread “exhausted”
Friday, 31 July 2026
JW
Jonas WeberIntegration Engineer · 09:37
SEAT Cupra VoiceConnect trunk: outbound is fine, inbound never arrives. No error anywhere. Trunk looks half alive.
in thread “acl”
OM
Omid MohajeraniSenior Voice Engineer · 10:14
What's in the IP Access Control List?
in thread “acl”
JW
Jonas WeberIntegration Engineer · 10:51
The AudioCodes hostname - qqjjgaaaqdcr.sip1-region1.audiocodes.io. It resolves to the right IP, I checked.
in thread “acl”
OM
Omid MohajeraniSenior Voice Engineer · 11:28
That's it. The VC ACL does not resolve host names, it compares the literal value. A resolving implementation would have matched, so we know it doesn't. Put 20.113.51.15/32 in there.
in thread “acl”
JW
Jonas WeberIntegration Engineer · 12:05
Inbound working. That would have taken me another day.
in thread “acl”
OM
Omid MohajeraniSenior Voice Engineer · 12:42
Whitelist the media address too - 20.113.4.49. Signalling and media are different hosts and people miss the second one.
in thread “acl”
Tuesday, 4 August 2026
MN
Marek NowakPlatform Engineer · 09:37
Update on the Data Exhausted thing: it was not the segment. The segment went Active on its own and still scheduled zero calls, and brand new campaigns in the same tenant failed identically. It's an environment-level scheduler problem, escalated to Sprinklr support. So please don't go rebuilding segments on my earlier guess - treat Data Exhausted as a thing to clear, not as an explanation.
in thread “exhausted2”
⚠ overturns an earlier answerToday
SB
Sam BeckNew joiner, Voice · 09:37
New here - starting on the DT integration. Where do I even find how any of this works?