SSC+ Line integration guide
Version 0.5.1 (preview), 8 October 2026
Preview. This guide and the interfaces it describes are for building and testing your side of the integration against the SSC+ development environment. They may still change; every change is listed in the change log. SSC+ Line is not yet for real callers.
1. What SSC+ Line does
SSC+ Line assesses a caller's symptoms in a spoken conversation. Your call flow hands the call to SSC+. SSC+ asks the caller a series of yes-or-no questions in Finnish, understands their answers in their own words, and runs the assessment. It then hands the call back to your flow with the outcome: whether the assessment completed and how urgent it is. Your flow decides what happens next, such as a transfer to a nurse queue, a callback or a message. The full result is available to your systems through the Customer API.
SSC+ is an endpoint that your Genesys Cloud Audio Connector connects to. There is nothing to install on your side and no SSC+ component inside Genesys Cloud. You configure an Audio Connector integration and add a Call Audio Connector action to your Architect flow.
2. How a call runs
- The call reaches the Call Audio Connector action in your flow. Genesys Cloud opens a secure WebSocket to SSC+, signed with your Line credentials, and passes the action's input variables.
- SSC+ verifies the signature, creates a session for the call and starts the conversation. The caller hears SSC+ only; SSC+ hears the caller only. The caller first hears your introduction, if you have set one, and then SSC+'s opening: "Tämä on automaattinen oirearvio. Kysyn sinulta muutaman kysymyksen. Voit vastata omin sanoin."
- If your flow did not pass the caller's age, sex or what is wrong, SSC+ asks for what is missing, in that order: "Kuinka vanha olet?", "Oletko nainen vai mies?", "Kerro omin sanoin, mikä sinua vaivaa." It matches the description to its symptom vocabulary and reads everything it asked back for the caller to confirm.
- SSC+ asks questions until the assessment is complete. Every question is played in full, and SSC+ listens from its last word: callers answer after the question, freely ("ei oo", "joo, vähän", "en osaa sanoa"). What a caller says over a question is not taken as the answer; if they then stay silent, SSC+ asks the same question again. After a yes, SSC+ may ask the assessment content's own follow-up question: how long ("Kuinka kauan sinulla on ollut kuumetta?") or for details ("Millä raskausviikolla olet?"). The reply goes to the professional's summary; it does not change the result. An answer it cannot understand is asked again, first in the same words and then as a yes, no or don't-know choice.
- SSC+ says "Kiitos. Arvio on valmis.", then your closing if you have set one, and ends its part of the call. Your flow receives the output variables and continues.
- Your systems read the full result from the Customer API with
ssc_session_id, now or later.
Your introduction and closing
You may set two texts of your own, which SSC+ speaks in its voice:
- an introduction, said first, for example "Tervetuloa Esimerkkiklinikan oirearvioon.";
- a closing, said after "Kiitos. Arvio on valmis.", for example "Kiitos, että soitit Esimerkkiklinikalle."
Without them, the caller hears SSC+'s own words only. Each can be the same for Line and for SSC+ Talk on your website, or different for each.
- Plain text in Finnish, at most 400 characters each.
- Your introduction does not replace SSC+'s opening. The sentence saying that the service is automated is always spoken, so the caller always knows they are talking to an automated service.
- The closing is spoken after a completed assessment only (
ssc_statusresult). When a call ends any other way, the caller hears SSC+'s words for it and nothing after them. - Everything between is SSC+'s: the questions, the follow-ups and the wording that asks again are part of the assessment and cannot be changed.
In the preview, send your texts to your SSC+ contact, who has them applied. Later you will manage them yourself in the SSC+ Customer Portal.
In the preview, SSC+ does not say the result to the caller. How the result and any emergency instruction are spoken is being reviewed clinically. Until then, your flow is responsible for what the caller hears after SSC+ hands the call back.
3. What you receive from SSC+
SSC+ issues these once, over a secure channel. The secrets are shown only once and cannot be recovered. If one is lost, SSC+ issues a new one.
| Credential | What it is for | Where it goes |
|---|---|---|
Line API key (sscline_…) | Identifies your Audio Connector to SSC+ | Your Audio Connector integration, API Key |
| Line client secret (base64) | Signs each connection; SSC+ verifies the signature | Your Audio Connector integration, Client Secret |
Tenant API key (ssc_…) | Reading results with the Customer API | Your servers only. Never in a flow, a browser or an app |
Each call's connection is signed by Genesys Cloud with your client secret (HTTP message signatures, RFC 9421, HMAC-SHA256). You do not implement the signing; Genesys Cloud does it. SSC+ refuses a connection whose signature, API key or organisation does not match.
4. Setting up the Audio Connector
In Genesys Cloud, create an Audio Connector integration (Genesys: configure and activate Audio Connector):
| Setting | Value |
|---|---|
| Base Connection URI | wss://api.dev.ssc-plus.com/v1/line/ |
| API Key | your Line API key |
| Client Secret | your Line client secret |
Then add a Call Audio Connector action to your inbound call flow (Genesys: Call Audio Connector action):
| Setting | Value |
|---|---|
| Integration | the Audio Connector integration above |
| Connector ID | any identifier you choose, for example ssc-triage |
| Inputs | the input variables below |
| Outputs | the output variables below, each assigned to a flow variable |
Genesys Cloud appends the Connector ID to the Base Connection URI, so the connection goes to wss://api.dev.ssc-plus.com/v1/line/ssc-triage. SSC+ accepts any Connector ID. It appears in SSC+'s logs, which helps when you use more than one flow.
Audio. SSC+ takes L16 (16-bit linear PCM) or μ-law (PCMU), both at 8 kHz, and listens to the caller's side only. When your Audio Connector offers both, SSC+ takes L16.
These are the only two formats the Audio Connector protocol offers; it has no A-law. Genesys Cloud converts a European A-law call to the format your connector uses. L16 is the better choice: it is uncompressed, so the call's audio is converted once rather than twice. PCMU, Genesys Cloud's default, works equally for the conversation.
5. Input variables
All values are strings, as Architect passes them. Every variable is optional: pass the ones your flow already knows, and SSC+ asks the caller for the rest. A value outside those listed, such as the Finnish word nainen for sex, is ignored, as if it had not been passed, and SSC+ asks for it instead.
| Variable | Meaning | Values |
|---|---|---|
ssc_age | The caller's age in whole years | 0 to 130, for example 45 |
ssc_sex | The caller's sex, as the assessment uses it | female, male, other or unknown. Default unknown |
ssc_symptoms | What is wrong, as one or more terms from the supported symptoms, comma-separated | for example kuume or yskä,kurkkukipu |
ssc_language | The language of the conversation | fi, the only language in the preview. Default fi |
What your flow passes is not asked again. If your flow knows the caller's age and sex from an earlier step, pass them, and SSC+ asks only what is wrong. Passing nothing is fine too: SSC+ then asks for all three. Passing what you know makes the call shorter.
Symptoms from your flow
When your flow passes ssc_symptoms, each term must be from the assessment's own vocabulary; a term that is not is ignored, and SSC+ asks the caller instead. These terms are verified to start an assessment. When SSC+ asks the caller itself, it matches what they say against the whole vocabulary, about 14,000 terms.
selkäkipu · kuume · yskä · kurkkukipu · vatsakipu · päänsärky · nuha · korvakipu · ripuli · oksentelu · huimaus · ihottuma · polvikipu · virtsaamiskipu · rintakipu · hengenahdistus
If the assessment has no content for the terms given, the call ends with ssc_status = no_starter.
6. Output variables
When SSC+ ends its part of the call normally, it returns these. Assign them to flow variables and route on ssc_status.
| Variable | Meaning |
|---|---|
ssc_session_id | The session's id. Use it with the Customer API, and keep it with the call's records |
ssc_status | How the conversation ended. One of the four values below |
ssc_urgency | When ssc_status is result: the recommended urgency in the assessment's words, for example Vastaanotto 1-3 vrk or Ohjataan hoitoon 24/7. Otherwise empty |
ssc_status | What happened | What the caller heard last | Suggested routing |
|---|---|---|---|
result | The assessment completed | "Kiitos. Arvio on valmis.", then your closing if you have set one | Route on ssc_urgency; read the full result from the Customer API |
no_starter | The assessment has no content for the symptoms given | "En valitettavasti löydä tähän sopivaa arviota. Keskustelu päättyy nyt, ja asiaasi jatketaan toista kautta." | To a person |
unresolved | An answer, or the caller's age, sex or description, could not be understood after asking again | "En valitettavasti saanut vastaustasi selville. Keskustelu päättyy nyt, ja asiaasi jatketaan toista kautta." | To a person |
failed | Anything else, such as a fault on SSC+'s side. When a service SSC+ depends on stops answering during the call, SSC+ ends it rather than keep the caller waiting | "Palvelussa on juuri nyt häiriö. Yritä hetken kuluttua uudelleen.", or nothing if the call was cut short | To a person |
Always give the action a failure path to a person. If SSC+ cannot be reached or refuses the connection, for example because of wrong credentials, no output variables are set, and Architect takes the action's failure path.
If the caller hangs up, the call simply ends and no outputs are returned. The session is kept as it was when the call ended.
Do not route on ssc_urgency alone for emergencies. The emergency instruction, when there is one, is in the full result's guidance. Your flow, or the person the call goes to, must act on it.
7. Reading the result
Read the full result from your servers with the Customer API and your tenant API key:
GET https://api.dev.ssc-plus.com/v1/sessions/{ssc_session_id}
Authorization: Bearer ssc_…
The response is the session. Once status is completed, it includes result:
recommendations: each with urgency, reason and plan;triage_code;guidance, including any emergency instruction;summary: what the caller reported, written for the professional;professional_groups,codesandsevere_symptoms;self_care: self-care advice, when there is any.
For Line sessions, customer_reference is the Genesys conversation ID of the call, so you can match results to calls. The API reference describes every field and error.
A session is readable for 30 days after it ends.
8. What SSC+ stores
For each call, SSC+ keeps the following for 30 days after the session ends, then deletes it:
- the session;
- the caller's audio as SSC+ heard it;
- the transcripts of what was said, with personal identifiers removed from the text: identity codes, phone numbers, email addresses and bank account numbers. Names are not yet removed;
- the answers and the result;
- the calling number and the Genesys conversation ID.
The data serves support, incident investigation and quality evaluation.
SSC+ runs in the EU:
- the service and its data are hosted on UpCloud in Helsinki, Finland;
- speech recognition, speech synthesis and the interpretation of answers use Microsoft Azure in Sweden Central.
All connections are encrypted (TLS). Credentials are stored hashed or encrypted.
9. Testing
- Use the development environment only, with test calls and made-up details. Do not use real patients or real personal data.
- The development environment is updated often and without notice. A call may occasionally fail during an update.
- A good first test: pass
ssc_age=45,ssc_sex=femaleandssc_symptoms=kuume, answer the questions, and check that your flow receivesssc_status=resultand that the Customer API returns the result forssc_session_id. - Then pass nothing, and answer SSC+'s questions about age, sex and what is wrong yourself.
- Test every
ssc_statusroute:- stay silent or answer something unrelated repeatedly for
unresolved; no_starterhas no reliable way to be produced on demand in the preview. Route it likeunresolved;- use wrong credentials for the action's failure path.
- stay silent or answer something unrelated repeatedly for
- When asking about a call, give its
ssc_session_id, or the Genesys conversation ID, and the time of the call.
10. Preview limitations
- Not for real callers yet. The spoken wording of results and emergency instructions is under clinical review.
- Finnish only.
- Symptoms from the supported list only.
- Development environment only. Production will have its own address and credentials.
- No availability commitment for the development environment.
Change log
| Version | Date | Changes |
|---|---|---|
| 0.5.1 | 2026-10-08 | SSC+ also takes L16 at 8 kHz, and prefers it when offered: one lossy conversion fewer than PCMU. PCMU works as before; nothing needs changing on your side. See Audio. |
| 0.5.0 | 2026-10-01 | SSC+'s opening now begins "Tämä on automaattinen oirearvio." so that every caller knows the service is automated. You may set your own spoken introduction and closing. Without them, calls sound as before, apart from the opening's first sentence. |
| 0.4.0 | 2026-09-29 | After a yes, SSC+ asks the content's own follow-up question, how long or for details, and passes the caller's reply to the professional's summary. A call may therefore take a little longer. The result is computed as before. |
| 0.3.1 | 2026-09-29 | Fixed: results ignored most of the caller's answers. Until this fix, SSC+ passed only a call's most recent answer to the assessment correctly, so results in the development environment, including ssc_urgency, could be far less urgent than the answers warranted. Found with a strong chest pain assessed as non-urgent. Please repeat any test calls whose results you relied on. |
| 0.3.0 | 2026-09-29 | Callers can no longer interrupt SSC+. Every question plays in full, and SSC+ listens from its last word. Speech over a question is not taken as the answer: these are medical questions, and an answer counts only once the whole question has been heard. SSC+ no longer sends the barge_in event. |
| 0.2.1 | 2026-09-29 | When a service SSC+ depends on stops answering during a call, SSC+ tells the caller and ends with failed within seconds, instead of waiting and asking again. |
| 0.2.0 | 2026-09-29 | Every input variable is optional: SSC+ asks the caller by voice for whatever your flow did not pass (age, sex, what is wrong), confirms it, and continues. A call without input variables no longer ends with failed. With no_starter, SSC+ now tells the caller instead of ending in silence. |
| 0.1.1 | 2026-09-29 | Input variables are checked when the call starts: a value SSC cannot use is ignored, and a symptom term outside the vocabulary no longer leads to no_starter but counts as not passed. The Customer API accepts pre-information when a session is created (see the API reference). |
| 0.1.0 | 2026-09-28 | First preview. |
SSC+ is developed by JST Healthcare Solutions Oy. SSC+ Line integration guide, version 0.5.1 (preview), 8 October 2026.