For the complete documentation index, see llms.txt. Any page on this site can be fetched as Markdown by appending .md to its URL.

Ytel

Connect your Ytel X5 contact center so Tandem can take its calls over SIP and schedule callbacks from a workflow.

The Ytel integration connects your Ytel X5 contact center. Tandem reaches X5 through its Non-Agent API (non_agent_api.php) to schedule callbacks with the Create Ytel Callback node, and connecting also sets up a SIP trunk that your X5 platform sends calls over.

Setup

Your organization has one Ytel connection or none, and it is always called "Ytel." There is nothing to name and nothing to pick between.

1. Have your X5 API user ready

You need three things from your X5 instance:

  • Base URL — the https:// address on your X5 subdomain that serves non_agent_api.php, such as https://acme.ytel.com/x5/api.
  • API user — an X5 user with API access.
  • API password — that user's password.

Use a dedicated API user for the integration if you can. It keeps the connection working when someone changes their own password, and it keeps Tandem's activity distinguishable in X5's API log, where Tandem's requests show the source spark.

2. Connect it in Tandem

On the Integrations page, click Add Integration, choose Ytel under Contact Center, then fill in X5 Non-Agent API:

FieldWhat to enter
Base URLThe https:// address that serves non_agent_api.php.
API UserThe X5 API user.
API PasswordThat user's password.

You can paste the full address of non_agent_api.php. Tandem drops the file name and any trailing slash. The address must use https, because the password travels in the request's query string.

Tandem checks the user and password against X5 before saving, so a wrong password is rejected right there instead of surfacing later as a failed callback. The check reads X5's logged-in agents and changes nothing in X5.

3. Copy your SIP credentials

Connecting also creates a SIP trunk for you and generates the SIP username and password your Ytel platform authenticates with. Tandem shows them once, on the screen immediately after you connect.

Copy the password before you click I've Copied Them. That button is the only way to close the dialog at this step. Tandem does not keep a readable copy of the password, so it cannot be shown again. If you lose it, regenerate the pair. See Regenerating the SIP credentials.

Configure the pair on the Ytel platform that sends SIP to Tandem. Calls that authenticate with it arrive on the managed trunk below.

The managed "Ytel" SIP trunk

Connecting creates a SIP trunk named Ytel under Admin → SIP Trunks, identified by the SIP username and password Tandem generated for you. Those credentials are what let Tandem match an inbound call arriving from your Ytel platform to your organization. You do not have to tell Tandem which IP addresses your platform sends from, or update anything when they change.

The trunk is created with no phone numbers, so nothing routes over it yet. Add the numbers that arrive over the trunk on Admin → Phone Numbers, plus the workflow or agent each one goes to.

What you can change on it, and what you cannot

The integration owns the trunk's connection settings, so those are shown but not editable:

Section on the trunkEditable
LabelNo. Always "Ytel".
Phone NumbersYes.
Allowed NumbersYes.
Allowed Source IPsNo. The trunk is identified by its SIP credentials instead.
Outbound AddressNo.
Default RouteYes.
SIP AuthenticationUsername shown, not editable. The password is never displayed. Regenerate on the integration.
VariablesYes.

The trunk also has no Delete action in its row. It goes away when you disconnect the integration.

Regenerating the SIP credentials

Open Ytel on the Integrations page and use Regenerate SIP Credentials under SIP Trunk. Tandem mints a new username and password, writes them to the trunk, and shows them once, the same one-time view you got when you connected. While they are on screen, closing the sidebar or opening another integration asks you to confirm first.

Reach for it when you have lost the password, or when you want to rotate it on a schedule. Two things to know before you do:

  • The old pair stops working immediately. Calls authenticating with it are rejected until you configure the new pair in Ytel, so do it during a window you can tolerate.
  • It does not touch anything else. The trunk keeps the phone numbers and routing you set on it, and your X5 API credential is untouched.

Updating your X5 API credential, in turn, leaves the SIP credentials alone. They authenticate opposite directions.

Scheduling callbacks

The Create Ytel Callback node uses the stored X5 API credential. It looks up the lead by the callback number and schedules the callback on it. When several leads have that number, X5 uses the most recent one. When no lead has that number, it adds one to the node's List ID. The API user needs permission to modify leads in X5.

A test call, including an AI agent's preview or test run of a workflow tool, skips the callback: the node takes its default exit without contacting Ytel.

Checking the connection

The integration shows a Status for the stored credential, from the last check:

StatusWhat it means
ConnectedX5 accepted the user and password.
UnreachableX5 could not be reached, the Base URL did not answer like the Non-Agent API, or X5 refused the login for a reason other than the password, such as a locked-out user or a blocked IP.
Reconnect requiredX5 rejected the user and password. Re-enter the credential.

Tandem checks the credential when you save it. Use Test Connection at any time to check the stored credential against X5 again; the result updates the status and is reported inline.

Updating or removing the connection

  • Update the credential — the Base URL and API user are filled in from what is stored. Enter the API password to save a change. Tandem holds the password only as ciphertext, so all three fields are saved together or not at all.
  • Rotate the SIP credentials — separate from the X5 credential. See Regenerating the SIP credentials.
  • Disconnect — removes the stored credential and the managed Ytel SIP trunk, SIP credentials included. Calls from your Ytel platform stop reaching Tandem. Nothing changes inside X5.

Troubleshooting

What you seeWhat it means
Ytel X5 rejected this user and password.Wrong user or password, or the user has no API access in X5.
The Base URL did not answer like the Ytel X5 non-agent API.The address answered, but not with the Non-Agent API. Check that it is the directory that serves non_agent_api.php on your X5 subdomain.
Ytel X5 did not confirm this login.X5 answered but refused the login for a reason other than the password. Check that the API user is not locked out in X5, and that X5 accepts API requests from Tandem's IP addresses.
Ytel X5 answered HTTP 404The Base URL points at the wrong path.
Unable to reach Ytel X5 — check the Base URLA network or X5-side outage, or a mistyped host. Try again shortly.
Credentials were saved, but the "Ytel" SIP trunk could not be createdThe X5 credential is stored; only the trunk write failed, so no SIP credentials were issued. Use Generate SIP Credentials on the integration to retry.
Calls from Ytel are not reaching a workflowThe trunk starts with no phone numbers. Add the numbers arriving over it on Admin → Phone Numbers.
Ytel reports its calls to Tandem are being rejectedThe SIP credentials configured in Ytel no longer match. Regenerate them in Tandem and paste the new pair into Ytel.
Ytel is not connected for this organization.The Create Ytel Callback node ran before the integration was connected.
Ytel did not schedule the callback.X5 answered but did not confirm the callback. Check the node's List ID, Campaign ID and Callback User, and the API user's permissions in X5.
Ytel non-agent API timed out; the callback may still have been scheduledX5 did not answer in time. Check the lead in X5 before scheduling again, or it may get a second callback.

Nodes

On this page