- Your job notifies Triple Session when a recording is ready. It sends one signed HTTPS request per recording, with the agent’s email, a unique ID and the recording’s URL.
- Triple Session downloads that one file from your Recording source over HTTPS with a credential that your admin enters in Triple Session.
- AI Coach evaluates the call. The result appears on the agent’s call list like any other call.
Requirements
- Access to Automations and a company admin role.
- Every agent email you send belongs to a Triple Session member of your company with a recording seat and standard credits.
- A Recording source that follows the contract below.
Set up the automation
1
Create the automation
Go to Settings > Automations and click New Automation. Set the Trigger to Webhook Received and add a Review Meeting action.
2
Generate the webhook secret
Open the trigger. Copy the Webhook URL and the Automation ID, then click Generate Secret and store the secret in your job’s secret store. The secret signs every notification.
3
Require signed requests
In the trigger, check Require signed requests. Triple Session then rejects any request without a valid signature, including requests that only send the API key header.You can send signed requests before you check the box. Signatures are always verified when present.
4
Enter the Recording source credential
Open the Review Meeting action and expand Recording source authentication:
- Auth type: Basic, Bearer token or API key header.
- Pinned host: the exact hostname of your Recording source, for example
recordings.example.com. Include the port only if it isn’t 443. - The credential itself: username and password, a token, or a header name and value.
5
Turn the automation live
Click Live. Then send a test notification.
Rotate the credential
Click Replace, enter the new credential and save. The next download uses it, so there is no downtime. Keep the old credential valid on your side until the save is done. If you change the auth type, the pinned host or the header name, you must enter the credential again. A saved credential is only ever sent to the host it was entered for.Recording source contract
The Recording source is the HTTPS endpoint that serves your recording files. If your recordings live in storage that can’t do this with one plain request, such as SharePoint Online, Amazon S3, Azure Blob Storage or an SFTP server, put a small HTTPS endpoint in front of it that meets this contract.
Serve only recordings. Transcripts and sidecar files in the same folder should never be sent to Triple Session.
Notification request
Send onePOST request per recording to the Webhook URL from the trigger.
Headers
Sign the exact bytes you send. Build the JSON body once, sign that string, and send that same string.
Requests are rejected if the timestamp is more than 5 minutes away from Triple Session’s clock, so keep your server’s clock in sync (NTP).
Don’t send
x-ts-automation-api-key with signed requests. If you send both, only the signature is checked.
Body
Responses
A
meeting_id is accepted once per 24 hours. If a download failed and you’ve fixed the cause, re-send it after 24 hours, or send it with a new meeting_id.Sample code
Each sample sends one notification, signs it, and retries on429 (honouring Retry-After) and on 5xx or network errors with exponential backoff. None of them send the raw secret.
- Node.js
- PowerShell
- curl
Requires Node.js 18 or later.
Build the folder-watch job
If your recordings land in a folder, a scheduled job on your side turns new files into notifications. Triple Session doesn’t provide this job. A reliable one:- Runs on a schedule that matches how often files arrive, for example every 15 minutes.
- Keeps a record of the IDs it has already sent and skips them.
- Sends one notification per recording. It never sends transcripts, metadata or other sidecar files.
- Logs every attempt with the ID, the HTTP status and the
errorfield of the response. - Keeps each file for a retention window (for example 7 days) so a failed recording can be sent again, then deletes it on your own schedule. Triple Session doesn’t send a “you can delete it” callback.
Test the setup
1
Send one real notification
Use one real recording and the email of a member with a recording seat. Use a
meeting_id you haven’t sent before.2
Check the run log
Open the automation and click View Logs. Each notification that reaches a member creates a run. Open the Review Meeting action to see its status and any error.If the request returned
200 but no run appears, the sales_rep_email doesn’t match a member of your company.3
Check the call
When the action completes, the evaluated call appears on the agent’s call list in AI Coach.

