Scriptintegraties
U kunt uw eigen scriptacties maken Agent Builder. Hiermee kunt u aanpassen hoe uw Mpower-agent Een virtuele agent die wordt gemaakt met CXone Mpower Agent Builder die spraak- of chatinteracties kan behandelen. reageert in gesprekken. Scriptacties zijn aangepaste Mpower-agentacties die u in dialogen
Mpower-agent Verhalen, regels en stromen in Agent Builder. kunt gebruiken om de reacties van de bot tijdens gesprekken te definiëren.
Scriptacties zijn gemaakt in scriptintegraties in Agent Builder. Scriptintegraties ondersteunen JavaScript. Elke scriptintegratie kan meer dan één actie bevatten. Wanneer een actie is ingeschakeld, is deze beschikbaar in het actiemenu Mpower-agent wanneer u een Mpower-agent reactie toevoegt aan een verhaal Worden gebruikt om een Mpower-agent te trainen voor interactieafhandeling op basis van intentie en context., regel
Wordt gebruikt voor het definiëren van een Van Mpower-agent-reactie op berichten die niet afhankelijk zijn van de context.of fallback
Een alternatief in platte tekst dat wordt verzonden wanneer de bestemming geen rijke media ondersteunt..
De volgende lijst biedt voorbeelden van verschillende manieren waarop u scriptacties kunt gebruiken:
- Schrijf code om een Mpower-agent-actie te ontwerpen die voldoet aan de unieke behoeften van uw organisatie.
- Bel uw eigen externe API als een scriptactie.
- Voeg scripts toe aan Mpower-agentvaardigheden en publiceer ze in de Skill Store.
Omdat Agent Builder-scripts op de server werken, zijn er enkele beperkingen waarmee u rekening moet houden bij het bouwen van uw scripts.

Concept | Definitie | Voorbeeld | Wat de Mpower-agent doet |
---|---|---|---|
![]() Uiting |
Alles wat een contactpersoon![]() ![]() |
"Ik ben mijn wachtwoord kwijt." "Wat is mijn saldo?" "Ben jij een robot?" |
De Mpower-agent gebruikt Natural Language Understanding (NLU) om elke contactuiting te analyseren om de betekenis of intentieervan te bepalen. |
![]() Intentie |
Datgene wat de klant wil communiceren of bereiken. Elk bericht dat het contact verstuurt heeft een intentie. |
"Ik ben mijn wachtwoord kwijt" heeft de intentie "Wachtwoordreset". "Hallo" heeft de intentie "Begroeting". |
De Mpower-agent analyseert het bericht van een contactpersoon met behulp van NLU |
![]() Entiteit |
Een gedefinieerd stukje informatie in het bericht van een contact. | De naam van een persoon of product, een telefoonnummer, een rekeningnummer, een locatie enzovoort. | De Mpower-agent gebruikt NLU om entiteiten in het bericht van een contactpersoon te identificeren. Entiteiten helpen de Mpower-agent te begrijpen wat het bericht van het contact betekent. |
![]() Slot |
Een entiteit die uit het bericht van een contactpersoon is geëxtraheerd en is opgeslagen voor gebruik in Mpower-agent-reacties. Een 'slot' is vergelijkbaar met een variabele. | Als u een slot voor de contactnaam maakt, kan de Mpower-agent die naam gebruiken in reacties tijdens een interactie, waardoor het persoonlijker wordt. | Wanneer dit zo is geconfigureerd, haalt de Mpower-agent een entiteit uit een contactbericht en slaat deze op in een slot. Je kunt je Mpower-agent deze informatie later in het gesprek laten gebruiken. |
![]() Regel |
Definieert Mpower-agent reacties op berichten waarvan de betekenis niet verandert met de context. |
|
Regels zijn een van de twee manieren waarop u kunt configureren hoe uw Mpower-agent reageert op een intent. Regels zijn nuttig voor bepaalde soorten intenties, maar niet alle intenties. |
![]() Story |
Traint een Mpower-agent om een interactie af te handelen op basis van de bedoeling van het bericht en de conversatiecontext. | Bij een interactie over een vergeten wachtwoord zou de Mpower-agent reageren op "Hoe doe ik dat?" op een bepaalde manier. Als de interactie zou gaan over het aanmaken van een nieuw account, zou de reactie heel anders zijn. Ook al gebruikt de contactpersoon in beide gevallen dezelfde woorden met hetzelfde doel: meer informatie verkrijgen. | Verhalen zijn de tweede van de twee manieren waarop u kunt configureren hoe uw Mpower-agent reageert op een intentie. Verhalen leren de Mpower-agent hoe ze de context van het gesprek kunnen gebruiken om op de juiste manier te reageren. |
![]() Mpower-agent Actie |
Alles wat een Mpower-agent zegt of doet tijdens een interactie. |
Bij een interactie over een vergeten wachtwoord reageert Mpower-agent door de link naar de FAQ voor het opnieuw instellen van het wachtwoord op de website te sturen. Wanneer een contact frustratie uit zoals: "Ik snap het niet! Het werkt niet!!!" de Mpower-agent antwoordt met "Het spijt me. Wilt u dat ik u doorschakel naar een menselijke agent?" Wanneer het contact ja zegt, start de Mpower-agent de overdracht. |
Mpower-agent acties zijn de opties die u hebt om te definiëren hoe u wilt dat uw Mpower-agent op elke intentie reageert. Ze geven u de flexibiliteit om elke reactie te configureren om de uitkomst te behalen die aan de behoeften van het contact voldoet. |
Script-editor
Een scriptintegratie kan meer dan één actie bevatten. Elke actie heeft zijn eigen script. U kunt de script-editor openen via de eigenschappen van elke actie.
In de editor kunt u de code links invoeren en op het driehoek uitvoeren klikken om de resultaten in het paneel Console weer te geven.
Gebruik AI om een script te maken of te bewerken
De inhoud van dit gedeelte heeft betrekking op een product of functie in Controlled Release (CR). Als u geen deel uitmaakt van de CR-groep en meer informatie wilt, neem dan contact op met uw Accountmanager.
Gebruik het tabblad Script Editor om de Agent Copilot weer te geven, waar u natuurlijke taal kunt gebruiken om een script te genereren, meer over een script te weten te komen, een scriptwijziging aan te vragen, enzovoort.
Scriptvariabelen
U kunt zelf variabelen maken voor gebruik in Agent Builder-scripts. Variabelen kunnen een waarde opslaan voor gebruik op een andere plek in het script. Ze kunnen alleen gebruikt worden in de scriptintegratie waarin u ze hebt gemaakt, maar u kunt ze in alle scripts binnen die integratie gebruiken.
De waarden van variabelen kunnen niet gewijzigd worden in het script. Ze kunnen alleen worden gewijzigd op de scriptintegratiepagina of wanneer een actie die verwijst naar de variabele wordt gebruikt in een Mpower-agent-respons in een verhaal Worden gebruikt om een Mpower-agent te trainen voor interactieafhandeling op basis van intentie en context., regel
Wordt gebruikt voor het definiëren van een Van Mpower-agent-reactie op berichten die niet afhankelijk zijn van de context.of fallback
Een alternatief in platte tekst dat wordt verzonden wanneer de bestemming geen rijke media ondersteunt..
Een variabele in een actie gebruiken:
- Het script van de actie moet verwijzen naar de variabele.
- Deze moet bewerkbaar worden gemaakt in die actie als u wilt dat u de waarde kunt wijzigen.
Agent Builder-scripts ondersteunen vier typen variabelen:
- Tekst: Tekstvariabelen bevatten eenvoudige stringwaarden. Een bewerkbare tekstvariabele wordt een veld in de UI van de scriptactie waarin u tekst kunt invoeren om een waarde aan de variabele toe te wijzen.
- Nummer: Nummervariabelen bevatten numerieke waarden. Een bewerkbare nummervariabele wordt een veld in de UI van de scriptactie waarin u een nummer kunt invoeren om een waarde aan de variabele toe te wijzen.
- Selecteer: Gebruik selectievariabelen wanneer u meerdere mogelijke waarden voor de variabele wilt definiëren. Een geselecteerde variabele wordt een vervolgkeuzelijst op de UI van het script. De opties in de vervolgkeuzelijst worden gedefinieerd in het veld Waarden in de variabeledefinitie op het tabblad Scripts.
- Geheim: Gebruik geheime variabelen om privégegevens te bewaren zoals tokens of API-inloggegevens. Nadat u de waarde hebt ingevoerd, verbergt Agent Builder alle tekens na de vijfde in de reeks met asterisken ( * ). De waarde is alleen-lezen en kan niet vervangen of gewijzigd worden door het script of via de scriptactie. Als u deze waarde moet wijzigen, dan moet u de waarde bijwerken op de pagina Variabele in het script. Geheime variabelen kunnen niet bewerkbaar worden gemaakt.
U kunt een standaardwaarde definiëren voor tekst, nummer en geselecteerde variabelen. Als de variabele bewerkbaar is, kan de standaardwaarde worden overschreven door een andere waarde te selecteren of in te voeren wanneer u de actie toevoegt aan een Mpower-agent-reactie. Wanneer de variabele niet bewerkbaar is maar wel als verwijzing in het script van de actie verschijnt, dan wordt de standaardwaarde gebruikt, als die er is. Als er geen standaardwaarde is toegewezen dan heeft de variabele geen waarde in het script.
De variabelen die u maakt worden toegevoegd aan het Variables-object in de scriptintegratie.
Standaard objecten en functies
Naast standaard JavaScript-functies heeft Agent Builder het volgende bot-specifieke framework:
- Het Bot-object biedt een alternatieve manier om te bepalen hoe uw Mpower-agent reageert in gesprekken.
- Met het Opslaan-object kunt u contextuele informatie voor een scriptuitvoering opslaan.
- Het object Variabelen bevat alle variabelen die u aan de scriptintegratie kunt toevoegen.
- De functie ophalen is een implementatie van het standaard JavaScript fetch.
- U kunt de console gebruiken voor debuggen.
Omdat Agent Builder-scripts op de server werken, zijn er enkele beperkingen waarmee u rekening moet houden bij het bouwen van uw scripts.
Bot-object
het Bot-object bevat methoden die scriptacties triggeren. Wanneer u een script schrijft, geeft de webeditor prompts voor alle beschikbare methoden, inclusief de bijbehorende argumenten en typen. De volgende methoden zijn beschikbaar wanneer u het Bot-object gebruikt:
- sendMessage
- sendAdaptiveCard
- sendButtons
- sendQuickReplies
- sendCards
- sendMultimedia
- sendRichLink
- sendListPicker
- handover
- addTags
- waitForResponse
- fillSlot
- slots
- sendAsCustomer
Veel methoden in het Bot object kunnen optioneel aangepast worden met een options-parameter. Options kan fallbackText zijn (fallback) of typing (slim typen). De mogelijke waarden voor typing zijn 1, 2, of 3.
Options = {
"fallbackText": "this is the fallback text",
"typing": 2,
}
sendMessage
Voer een platte tekstbericht in dat de Mpower-agent moet verzenden. Gebruik de indeling .sendMessage(text: string, options: Options): void. De
Bot.sendMessage('This is message written by bot')
sendAdaptiveCard
Voer de payload in voor de Adaptive Card die u wilt versturen. Gebruik de indeling .sendAdaptiveCard(adaptiveCard: AdaptiveCardPayload, options: Options): void. De
U kunt de payload voor uw adaptieve kaart terugvinden in de Adaptive Card-ontwerper. Ga in Agent Builder naar Voorkeuren > Adaptieve kaarten en kopieer de inhoud van het paneel Editor kaartpayload. U kunt leren over werken metAdaptive Cards in Agent Builder.
Bot.sendAdaptiveCard(<Valid_Adaptive Card_JSON_Payload>)
sendButtons
Configureer en verzend maximaal drie knoppen. Alle knopinstellingen kunnen ingedeeld worden door attributen in te stellen. Gebruik het onderstaande voorbeeld om de knopinstellingen in het dialoogvenster te vergelijken met de attributen in het script. Gebruik de indeling .sendButtons(text: string, buttons: ButtonPayload[], options: Options): void. De
Bot.sendButtons('This is message written by bot', [
{
title: 'Button 1',
intent: {
name: 'mood'
}
}
])
U kunt ook
Het combineren van deze attributen kan leiden tot fouten of onverwacht gedrag.
// triggers intent
{
title: 'Title',
intent: 'mood'
}
// triggers intent with entity value
{
title: 'Title',
intent: {
name: 'mood',
entity: 'myEntity',
value: 'entity value'
}
}
// url
{
title: 'Title',
url: 'https://www.nice.com'
}
// text
{
title: 'Title',
text: 'This is a text'
}
sendQuickReplies
Configureer en verzend maximaal drie snelle antwoorden. Alle instellingen voor snelle antwoorden kunnen ingedeeld worden door attributen in te stellen. De opties voor snelle antwoorden zijn hetzelfde als voor knoppen. Gebruik de indeling .sendQuickReplies(text: string, quickReplies: QuickReplyPayload[], options: Options): void. De
Bot.sendQuickReplies('This is message written by bot', [
{
title: 'Quick reply 1',
intent: {
name: 'mood'
}
}
])
U kunt ook de entiteit
Het combineren van deze attributen kan leiden tot fouten of onverwacht gedrag.
// triggers intent
{
title: 'Title',
intent: 'mood'
}
// triggers intent with entity value
{
title: 'Title',
intent: {
name: 'mood',
entity: 'myEntity',
value: 'entity value'
}
}
// url
{
title: 'Title',
url: 'https://www.nice.com'
}
// text
{
title: 'Title',
text: 'This is a text'
}
sendCards
Configureer en verzend maximaal 10 kaarten. Gebruik de indeling .sendCards(cards: CardPayload[], options: Options): void. De
Bot.sendCards([{
title: 'Card title',
description: 'Card description',
image: 'https://picsum.photos/200/300',
mimetype: 'image/jpeg',
button: {
title: 'Button title',
url: 'https://www.nice.com/'
}
}])
sendMultimedia
Multimedia worden niet door Agent Builder gevalideerd, maar kunnen wel in andere integraties gevalideerd worden. De inhoud op de URL moet te allen tijde beschikbaar zijn wanneer het script gebruikt wordt. De inhoud moet ook openbaar toegankelijk zijn, aangezien deze herhaaldelijk wordt gedownload wanneer het script wordt uitgevoerd. De beperkingen voor het mediatype en de mediagrootte zijn hetzelfde als wanneer u een Multimedia-Mpower-agentactiegebruikt. Gebruik de indeling .sendMultimedia(url: string, mimetype: string, options: Options): void. De
Bot.sendMultimedia('https://picsum.photos/200/300', 'image/jpeg')
sendRichLink
Configureer en verzend een rijke link. Gebruik de indeling .sendRichLink(richlink: RichLinkPayload): void.
Bot.sendRichLink({
title: 'Title',
url: 'https://www.nice.com',
image: 'https://picsum.photos/200/300',
mimetype: 'image/jpeg'
})
sendListPicker
Configureer en verzend maximaal 12 lijstkiezeropties. Alle lijstkiezeropties kunnen ingedeeld worden door attributen in te stellen. De opties voor lijstkiezer zijn hetzelfde als voor knoppen. Gebruik de indeling .sendListPicker(message: string, description: string, actions: ListPickerPayload[], options: Options): void. De
Bot.sendListPicker('Message', 'Description', [{
title: 'Title',
description: 'Description',
image: {
url: 'https://picsum.photos/200/300',
mimetype: 'image/jpeg'
}
intent: {
name: 'mood'
}
}])
handover
Configureer waar de handover De overdracht van een contact van een virtuele agent naar een live agent. naartoe moet gaan met een
Een queueId zoeken:
-
Klik in CXone Mpower op de app-kiezer
en selecteerACD.
-
Ga naar Digital Experience > Routeringswachtrijen.
-
Zoek de wachtrij waarvan u de ID nodig hebt en klik op Bewerken.
-
Op de bewerkingspagina van de wachtrij kijkt u naar de URL in uw browser. Het nummer na /edit/ is de queueId. en bestaat uit vijf sets van cijfers en letters, gescheiden door streepjes. Bijvoorbeeld: 67bf5865-4556-40db-ba44-6c0cc3f88ffa.
Bot.handover(null)
// or
Bot.handover('queueId')
addTags
Configureer welke tags toegepast moeten worden. De tags die in het script gebruikt worden, moeten al in Agent Builder bestaan. Als in het script een tag wordt aangeroepen die niet bestaat, wordt de actie genegeerd. Gebruik de indeling .addTags(tags: string[]): void.
Bot.addTags(['Tag 1', 'Tag 2'])
waitForResponse
In sommige gevallen moet u wachten op de reactie van een klant en moet de scriptuitvoering worden hervat. Aangezien de communicatie met klanten asynchroon verloopt, is het wachten op de rectie ook asynchroon. Er is maar één parameter nodig voor de Bot.waitForResponse-methode: de naam van de functie die uitgevoerd wordt nadat u een respons ontvangt. Gebruik de indeling .waitForResponse(functionName: string): void.
Deze functie heeft een vertraagde werking. Dit betekent dat het resultaat niet direct wordt doorgevoerd wanneer de actie wordt uitgevoerd. Het huidige script moet eerst worden afgerond. Als u wilt dat het script eindigt met de vertraagde werking van de functie, moet u het uitvoeren van het script expliciet stoppen met een return-instructie.
function main() {
console.log('Testing wait for response')
Bot.waitForResponse('response') //The script continues to run and the next line executes while listening for a customer response
console.log('This is still going to be executed')
}
function response() {
console.log('Customer responded', Bot.slots['last customer message'].value)
}
fillSlot
Configureer welk slot Entiteit die uit een bericht van een klant is gehaald en wordt opgeslagen voor gebruik in de reacties van een bot. Een 'slot' is vergelijkbaar met een variabele. toegepast moet worden. De slots die in het script gebruikt worden, moeten al in Agent Builder bestaan. Als in het script een slot wordt aangeroepen die niet bestaat, wordt de actie genegeerd.
Als u de waarde alleen wilt opslaan voor een scriptuitvoering, gebruikt u een lokale variabele of het Store-object. Gebruik de indeling .fillSlot(name: string, value: any[]): void.
Ga naar het .value-attribuut om de daadwerkelijke slotwaarde te openen.
function main() {
Bot.fillSlot('slotName', 'slotValue');
console.log(Bot.slots.slotName.value);
}
slots
In de puntnotatie kan de editor beschikbare slots Entiteit die uit een bericht van een klant is gehaald en wordt opgeslagen voor gebruik in de reacties van een bot. Een 'slot' is vergelijkbaar met een variabele. aanvragen, maar alleen wanneer de slotnamen geen spaties of speciale tekens bevatten. Als slotnamen wel spaties of speciale tekens bevatten, moet u de haaknotatie gebruiken.
console.log(Bot.slots)
// example
let contactId = Bot.slots['contact.id'].value
let lastCustomerMessage = Bot.slots['last customer message'].value
sendAsCustomer
Met deze functie kunt u de reactie van het contact De persoon die contact heeft met een agent, IVR of bot in uw contactcenter. in uw story's
Worden gebruikt om een Mpower-agent te trainen voor interactieafhandeling op basis van intentie en context. en regels
Wordt gebruikt voor het definiëren van een Van Mpower-agent-reactie op berichten die niet afhankelijk zijn van de context. toevoegen. Gebruik de indeling .sendAsCustomer(text: string): void.
Deze functie heeft een vertraagde werking. Dit betekent dat het resultaat niet direct wordt doorgevoerd wanneer de actie wordt uitgevoerd. Het huidige script moet eerst worden afgerond. Als u wilt dat het script eindigt met de vertraagde werking van de functie, moet u het uitvoeren van het script expliciet stoppen met een return-instructie.
Bot.sendAsCustomer('Hello bot')
Store-object
Store is een object dat is gemaakt om gegevens op te slaan tijdens het uitvoeren van het script. Vergeleken met een lokale variabele heeft dit object als voordeel dat het gebruikt kan worden voor meerdere .waitForResponse-functies.
set , get
Store.set(name: string, value: any[]): void
Store.get(name: string): any[]
function main() {
Store.set('token', 'my-secret-token')
Bot.waitForResponse('response')
}
async function response() {
console.log(Store.get('token')) // my-secret-token is logged
}
Objectvariabelen
Het Variables-object bevat de variabelen die u in de scriptintegratie maakt. Elke variabele is een eigenschap van Variables. Elke variabele beschikt over een set subeigenschappen die informatie bevat. Het volgende voorbeeld geeft een geselecteerde variabele weer met de naam colorChoice:
"colorChoice": {
"defaultValue": "red",
"options": [
"red",
"green",
"blue"
],
"type": "select",
"value": "red",
"name": "colorChoice"
}
In het voorbeeld bevindt de lijst met waarden die toegewezen zijn aan de variabele zich in de eigenschap options.
De eigenschappen defaultValue en value bevatten in eerste instantie dezelfde waarde. De standaardwaarde is null als u niet zelf een standaardwaarde instelt voor een geselecteerde variabele. Variabele waarden kunnen niet gewijzigd worden in het script, maar ze kunnen wel bewerkbaar gemaakt worden en gewijzigd worden wanneer de actie gebruikt wordt in een story of regel.
Naar variabelen verwijzen in een Script
U kunt naar een variabelewaarde verwijzen met de puntnotatie: Variables.varName.value
U kunt naar de lijst met opties verwijzen in en selectievariabele: Variables.varName.options
Bestaande variabelen weergeven in een Scriptintegratie
U kunt een lijst met bestaande variabelen en hun eigenschappen in het script weergeven door de volgende regel aan de code toe te voegen en het script uit te voeren. De lijst verschijnt dan in de console. De code is: console.log(Variables). U kunt ook de inhoud van een enkele variabele weergeven door console.log(Variables.varName.value) of console.log(Variables.varName.options) aan uw script toe te voegen.
fetch -functies
fetch(url: string, ?options), met de volgende mogelijke opties:
- methode - 'GET', 'POST', 'PUT', 'DELETE'
- headers
- form_params
- JSON
- body
Gebruik Fetch voor communicatie met API's. Deze methode is geschikt voor alle CXone Mpower-API's of uw eigen API's.
const URL = 'https://nice.com'
async function main() {
// 1. using async/await
try {
const response1 = await fetch(URL, { 'method': 'GET' })
console.log(
'response 1',
response1.ok,
response1.status,
response1.statusText,
response1.url,
response1.headers
)
console.log('response 1', await response1.text())
} catch (exception) {
console.log('Error occured', exception)
}
// 2. using Promises
fetch(URL, { 'method': 'GET' })
.then(response => {
console.log(
'response 2',
response.ok,
response.status,
response.statusText,
response.url,
response.headers
)
return response.text()
})
.then(response => {
console.log('response 2', response)
})
.catch(exception => {
console.log('Error occured', exception)
})
// 3. using fetchSync
try {
const response3 = fetchSync(URL, { 'method': 'GET' })
console.log('response 3', response3)
} catch (exception) {
console.log('Error occured', exception)
}
}
fetchSync
De fetch-functie is een standaardimplementatie van JavaScript-fetch, die Beloven retourneert en ook .json()- of .text()-functies implementeert bij reacties.
Er bestaat een synchrone variant fetchSync, die de reactie direct retourneert in plaats van Beloven. Gebruik een standaard fetch -functie voor consistentie met de asynchrone JavaScript-wereld.
console -functie
De persoon die contact heeft met een agent, IVR of bot in uw contactcenter. verstuurd.
log
Gebruik de indeling console.log(…output: any[]): void.
console.log('my log', 123, {pi: 3.14})
warn
Gebruik de indeling console.warn(…output: any[]): void.
console.warn('my warn', 123, {pi: 3.14})
info
Gebruik de indeling console.info(…output: any[]): void.
console.info('my info output', 123, {pi: 3.14})
debug
Gebruik de indeling console.debug(…output: any[]): void.
console.debug('my debug output', 123, {pi: 3.14})
error
Gebruik de indeling console.error(…output: any[]): void.
console.error('my error output', 123, {pi: 3.14})
Foutafhandeling
onError
U kunt fouten afhandelen uit onverwachte uitzonderingen door uw onError-functie te definiëren.
let onError = (e) => console.log('my handler', e.message)
function main() {
Bot.nonExistentMethod()
}
Functies hashen
U kunt de CryptoJS-bibliotheek gebruiken voor uw scripts in Agent Builder. Bijvoorbeeld:
const cryptojs = require('crypto-js');x
var hash = CryptoJS.SHA256("TOKEN");
U kunt meer informatie krijgen over werken met deze bibliotheek op de -website CryptoJS-documentatie.