> For the complete documentation index, see [llms.txt](https://library.zoom.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://library.zoom.com/technical-library/sv/business-tjanster/zoom-contact-center/expert-insights/integrate-engagement-data.md).

# Integrera engagemangsdata

Skrivet av Justin Steinberg

### Översikt

Zoom kontaktcenter genererar värdefulla engagemangsdata under varje kundinteraktion, inklusive samtalsinspelningar, avskrifter, agentanteckningar och dispositioner. Fortsätt läsa för att lära dig hur du lagrar engagemangsdata i externa system (till exempel CRM och andra registersystem) för att skapa en enhetlig kundvy, möjliggöra effektiv coachning av agenter eller uppfylla efterlevnadskrav när du använder Zoom kontaktcenter.

Vi går igenom de olika integreringsmetoderna för att hjälpa dig att välja det bästa tillvägagångssättet utifrån hur dina agenter kan arbeta med ökad effektivitet.

Den bästa metoden beror främst på en nyckelfaktor: **applikationen där agenterna hanterar sina interaktioner**. De två alternativ vi kommer att diskutera är:

1. Agenter som använder det färdiga ZCC CRM CTI-anslutningsprogrammet i CRM:et.
2. Agenter som arbetar i Zoom Workplace-appen, vilket kräver en anpassad lösning med ZCC API:er och webhooks.

***

### Integrering av färdigt CRM CTI-anslutningsprogram

Detta är den mest okomplicerade metoden. Om dina agenter använder ett ZCC CRM CTI-anslutningsprogram kan de flesta engagemangsdata synkroniseras automatiskt mellan Zoom-plattformen och lämpligt CRM.

#### <mark style="color:blå;">Så fungerar det</mark>

CTI-anslutningsprogrammet bäddar in ZCC-agentgränssnittet direkt i CRM:et. När en interaktion avslutas sparas data som inspelningar, avskrifter, anteckningar och dispositioner automatiskt i Zoom och länkas till den relevanta posten (till exempel ett ärende eller en kontakt) i ditt CRM.

#### <mark style="color:blå;">Konfigurationskrav</mark>

Funktionaliteten som möjliggör synkronisering av data mellan Zoom och CRM finns "out of the box", men kräver aktivering i ZCC adminportal.

Slutför följande steg:

{% stepper %}
{% step %}
**Aktivera i ZCC adminportal**

Logga in på Zoom adminportal som administratör och navigera till Kontaktcenterhantering > Integreringar > Applikationer.

Hitta den aktuella CRM-integreringen och aktivera lämpliga inställningar för att tillåta lagring av data i ditt CRM.
{% endstep %}

{% step %}
**CRM-behörigheter**

Granska och följ [installationsguider för CRM-integreringen](https://support.zoom.com/) för att verifiera att användaren för CRM-integreringen har de nödvändiga skrivbehörigheterna för alla relevanta objekt.
{% endstep %}
{% endstepper %}

#### <mark style="color:blå;">Stödda CRM-plattformar</mark>

Denna funktionalitet är tillgänglig via ZCC CRM CTI-anslutningsprogrammet när agenter använder följande CRM-system:

* Salesforce
* Zendesk
* ServiceNow
* Microsoft Dynamics
* HubSpot

Med CRM CTI-anslutningsprogrammen krävs ingen särskild konfiguration, och integreringen sparar engagemangsdata i CRM som standard.

***

### Anpassad integrering via API:er

Om dina agenter använder den inbyggda Zoom Workplace-appen eller ZCC Smart Embed behöver du en anpassad lösning för att överföra engagemangsdata. Det primära sättet att göra detta på är med Zoom kontaktcenters API:er.

Det finns två huvudsakliga sätt att komma åt engagemangsdata via API:

* **Omröstning:** Fråga regelbundet Zoom API för att se om nya engagemangsdata är tillgängliga.
* **Webhooks:** Ta emot en avisering i realtid från Zoom så snart en avskrift är klar.

Det finns också ett tredje tillvägagångssätt, **Flow Events-integrering**, som fungerar för vissa datatyper.

#### <mark style="color:blå;">Omröstning av Zoom kontaktcenter API:er</mark>

För att hämta engagemangsdata måste du fråga lämpliga ZCC API-ändpunkter. Det är viktigt att notera att olika typer av data kommer från olika API:er, så du behöver sannolikt bygga omröstningslogik för varje relevant ändpunkt.

Många engagemangsrelaterade API:er i Reports V2 (CX-analyser) stöder nu filtrering av sluttid med `end_time_from` och `end_time_to`. Föredra dessa parametrar när de är tillgängliga så att dina omröstningsjobb hämtar interaktioner utifrån när de faktiskt har avslutats. Detta hjälper till att minska antalet missade poster eftersom fullständiga engagemangsdata (inklusive Report V2-data) färdigställs när interaktionen avslutas.

| För att få dessa data...                                   | Fråga detta API...                                                                                                                                                                                                                                                                                                                                                    | Användning av det här fältet... | Anteckningar:                                                   |
| ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | --------------------------------------------------------------- |
| <p>Inspelningsmediefil</p><p>(Röst- och videokanal)</p>    | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/recordings/get/contact_center/recordings">Lista inspelningar</a> eller</p><p>Lista engagemangsinspelningar</p>                                                                                                                                                                                    | `download_url`                  | Kräver att samtalsinspelning är aktiverad för kön.              |
| <p>Avskrift av inspelning</p><p>(Röst- och videokanal)</p> | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/recordings/GET/contact_center/recordings">Lista inspelningar</a> eller</p><p>Lista engagemangsinspelningar</p>                                                                                                                                                                                    | `avskrift_url`                  | Kräver samtalsinspelning med transkription aktiverad.           |
| <p>Avskrift</p><p>(Kanal för meddelanden)</p>              | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">Hämta ett engagemang</a> eller</p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/reports-v2-cx-analytics/get/contact_center/analytics/log/historical/engagement">Lista historiska loggdata för engagemang</a></p> | `avskrift_url`                  | Avskrift är aktiverad som standard för kanaler för meddelanden. |
| <p>Dispositioner</p><p>(Alla kanaler)</p>                  | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">Hämta ett engagemang</a> eller</p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/reports-v2-cx-analytics/get/contact_center/analytics/log/historical/engagement">Lista historiska loggdata för engagemang</a></p> | `dispositioner`                 | En array med disposition-objekt.                                |
| <p>Anteckningar</p><p>(Alla kanaler)</p>                   | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">Hämta ett engagemang</a> eller</p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/reports-v2-cx-analytics/get/contact_center/analytics/log/historical/engagement">Lista historiska loggdata för engagemang</a></p> | `anteckningar`                  | En array med anteckningsobjekt.                                 |
| <p>Mediafil för röstbrevlåda</p><p><br><br></p>            | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/messages">Lista meddelandena i ett kontos inkorg</a> <strong>eller</strong></p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/{inboxId}/messages">Lista meddelandena i en inkorg</a></p>               | `download_url`                  | För röstbrevlådor som lämnats i en kontaktcenterinkorg.         |
| Avskrift av röstbrevlåda                                   | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/messages">Lista meddelandena i ett kontos inkorg</a> <strong>eller</strong></p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/{inboxId}/messages">Lista meddelandena i en inkorg</a></p>               | `avskrift_url`                  | Kräver att transkription är aktiverad för inkorgen.             |

{% hint style="danger" %}
**Varning**

Nedladdnings-URL:erna (`download_url`, `avskrift_url`, `playback_url`, och så vidare) som tillhandahålls av dessa Zoom API:er är **inte** offentliga länkar. De är avsedda för programmatisk åtkomst och kräver API-autentisering (till exempel en token i Authorization-headern) för att ladda ner den associerade filen.

Detta betyder:

* Du kan inte spara dessa URL:er direkt i ett CRM så att en användare kan klicka på dem. En användare som klickar på länken i sin webbläsare kommer inte att vara autentiserad, och nedladdningen kommer att misslyckas.
* Den korrekta metoden är att din backendtjänst använder URL:en för att hämta filen. Din tjänst kan sedan lagra filen i ditt eget system (som Amazon S3, Azure Blob Storage eller din CRM:s fillagring) och tillhandahålla en säker länk till dina användare därifrån.
  {% endhint %}

{% hint style="warning" %}
**Obs**

**Fördröjningar i bearbetning - röst- & videoinspelningar:**

Dessa data är inte tillgängliga direkt när ett samtal avslutas. Ljudet måste först bearbetas och laddas upp, vilket kan ta flera minuter för långa samtal. För att säkerställa att du inte missar inspelningar, ställ in `query_date_type` parametern till `recording_end_time` när du frågar List recordings API. Detta hämtar data baserat på när bearbetningen slutfördes, inte när samtalet avslutades.

För avstämningsjobb med fokus på engagemang i Reports V2 (CX analyser), använd överlappande tidsfönster med `end_time_from` och `end_time_to` för att skapa en säkerhetsmarginal för fördröjd bearbetning och tillfälliga leveransproblem.
{% endhint %}

För mer information om Zoom kontaktcenter API:er, se [kontaktcenter API:er](https://developers.zoom.us/docs/api/contact-center/) dokumentation.

#### <mark style="color:blå;">Använd webhook för händelser i realtid</mark>

För ett mer omedelbart, händelsestyrt tillvägagångssätt kan du prenumerera på ZCC-webhookar. Detta är den mest effektiva metoden för integreringar i nära realtid.

**Så fungerar det**

1. Prenumerera på lämpliga evenemang i Zoom App Marketplace.
2. När ett evenemang inträffar skickar Zoom en avisering till din webhook-URL (eller till din Websocket-anslutning).
3. Evenemangspayloaden innehåller de data du behöver, antingen direkt eller som en URL/ID för ett uppföljande API-samtal.

**Vanliga webhook-evenemang för engagemangsdata**

* **Data för avslutat engagemang redo:** kontakt\_center.cx\_engagement\_end\_data\_ready (signalerar att data för rapporten om avslutat engagemang V2 är redo att hämtas)
* **Röst-/videoinspelning:** kontakt\_center.inspelning\_slutförd (tillhandahåller en `download_url`)
* **Avskrift av röst/video:** kontakt\_center.inspelning\_avskrift\_slutförd (tillhandahåller en `avskrift_url`)
* **Avskrift av meddelanden:** kontakt\_center.engagemang\_meddelanden\_avskrift\_slutförd (tillhandahåller en `avskrift_url`)
* **Anteckningar:** kontakt\_center.engagemang\_anteckning\_tillagd (tillhandahåller en `anteckning` fält med anteckningsdata)
* **Disposition:** kontakt\_center.engagemang\_disposition\_tillagd (tillhandahåller en `disposition_name` fält med dispositiondata)

**Rekommenderat mönster: Utlös hämtning när engagemangsdata är redo**

När du tar emot `kontakt_center.cx_engagement_end_data_ready`, behandla det som din signal att data för engagemangets slutrapport V2 är komplett för det engagemanget. Vid den tidpunkten, gör ett samtal till Historical Engagement log data API och andra relevanta API:er för att samla in den slutliga datamängden. I detta evenemang, använd `engagement_id` som din uppslagsnyckel och hämta sedan de fullständiga artefakterna för engagemanget från dina nödvändiga slutpunkter.

{% hint style="warning" %}
**Obs**

* **Var medveten om flera evenemang:** Den `anteckning_tillagd` och `disposition_tillagd` evenemang kan utlösas flera gånger för ett enskilt engagemang (till exempel om en agent sparar flera anteckningar eller ett samtal vidarekopplas). Din applikationslogik måste kunna hantera detta.
* **Bygg in redundans:** Leverans av evenemang är inte alltid garanterad till 100 % (till exempel kan din ändpunkt eller websocket-anslutning vara tillfälligt nere).
* **Reservstrategi:** Vi rekommenderar att köra ett avstämningsskript med hjälp av polling-API:er med tidsfönster för att fånga missade evenemang och täppa till datagap. `end_time_from` och `end_time_to` för att fånga missade evenemang och täppa till datagap.
  {% endhint %}

För mer information om Zoom kontaktcenter-webhook-/websocket-evenemang, se [Kontaktcenter-webhooks](https://developers.zoom.us/docs/api/contact-center/events/) dokumentation.

#### <mark style="color:blå;">Flödesevenemangsintegreringar</mark>

För vissa datatyper kan du skicka data direkt till ett externt system från ZCC Flow-redigeraren med hjälp av ett JavaScript-evenemangsskript.

**Stödda data och begränsningar:**

* **Disposition:** Kan nås på alla typer av inkommande engagemangskanaler med hjälp av `global_system.Engagement.disposition` variabel.
* **Avskrift:** Endast tillgänglig för engagemang i inkommande meddelanden (till exempel, Webbchatt) med hjälp av `global_system.Engagement.avskrift` variabel.
* **Flera flöden:** När du arbetar med flera flöden i din konfiguration, särskilt när ett flöde använder `RouteTo` widgeten för att ansluta till ett annat flöde, är det viktigt att säkerställa att identiska evenemangsskript och utlösare är korrekt konfigurerade i alla flöden.

Den här metoden är mest kraftfull i ett meddelanden-flöde, där du kan kombinera både avskriften och dispositionen i ett enda evenemang.

**Konfigurationssteg**

Följ dessa steg för att konfigurera ditt flöde:

{% stepper %}
{% step %}
**Att lägga till ett evenemangsskript**

I ditt ZCC-flöde (till exempel ett Web Chatt-flöde), klicka på Start-widgeten.

Hitta evenemangsskript och lägg till ett evenemangsskript för evenemang, såsom Engagement Closed och/eller Disposition Saved.

<div align="left"><figure><img src="https://460446308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FctBXUMeBy4rtLMmMkKRG%2Fuploads%2Fgit-blob-608a0caccf5697f0cda911a59ba832b2f5cf3fd6%2Fimage.png?alt=media" alt="Flow screen showing a welcome message and events."><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**Att lägga till din anpassade JavaScript**

Exemplet nedan hämtar både dispositionen och avskriften och skickar dem sedan tillsammans till ett externt API.

```javascript
async function main () { 
  try {
    // Hämta disposition-objektet från dess variabel
    const disposition_data = var_get()['global_system.Engagement.disposition'];
    
    // Hämta hela avskrift-objektet
    const avskrift_data = await req.get(var_get()['global_system.Engagement.avskrift']);

    // Förbered en payload med all data du vill skicka
    const payload_to_send = {
      disposition: disposition_data.data.result,
      avskrift: avskrift_data.data.result.avskrift
    };

    // Definiera målet för dina data
    const external_api_url = '<ersätt-med-din-API-ändpunkt>';
    
    // Skicka de kombinerade data till ditt externa system
  	const response = await req.post(external_api_url, payload_to_send);
    
    // Logga svaret från det externa systemet för felsökning
    log.debug("Svar från extern API: " + JSON.stringify(response.data));
    
  } catch (error) {
    log.debug("Ett fel uppstod i evenemangsskriptet för avskrift: " + error);
  }
}
```

{% endstep %}
{% endstepper %}

***

### Sammanfattning och rekommendationer

Att välja metoden för integreringar som bäst överensstämmer med ditt agentarbetsflöde och dina tekniska resurser.

| Om dina agenter använder...                                     | Då är ditt bästa alternativ...                                   | Viktiga överväganden:                                                                                                                                                                                                                                                                    |
| --------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ZCC CTI-anslutningsprogrammet i ett CRM som stöds               | Den inbyggda integreringar-lösningen                             | <ul><li>Enklaste vägen</li><li>Ingen kod krävs</li><li>Det är inbyggt att synkronisera engagemangsdata</li></ul>                                                                                                                                                                         |
| Zoom Workplace-appen eller Smart Embed                          | API-webhooks plus avstämning med polling filtrerad efter sluttid | <ul><li>Använd <code>kontakt\_center.cx\_engagement\_end\_data\_ready</code> som din utlösare för hämtning</li><li>Sedan avstäm med <code>end\_time\_from</code>/<code>end\_time\_to</code> fönster</li><li>Förbättrar effektiviteten samtidigt som missade engagemang minskar</li></ul> |
| Ett inkommande meddelanden-flöde (och behov av att skicka data) | Flödes-evenemangsskript                                          | <ul><li>Nischad men kraftfull</li><li>Kräver JavaScript</li><li>Fungerar bäst för att skicka meddelanden-transkript och dispositioner</li></ul>                                                                                                                                          |

Genom att förstå dessa olika vägar kan du bygga en robust och tillförlitlig lösning för integreringar som ger dig en komplett bild av dina kundinteraktioner. Genom att kombinera evenemangstriggad hämtning med avstämning filtrerad efter sluttid kan du minska onödiga API-anrop samtidigt som du förbättrar fullständigheten.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://library.zoom.com/technical-library/sv/business-tjanster/zoom-contact-center/expert-insights/integrate-engagement-data.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
