Your use case. Our milestone. The 200th post in our "Kaizen Series: Continuous Improvement for Developer Experience" is coming up. Share Now

X
Direkt zum Inhalt
close
ALLE PRODUKTE

Vertrieb

CRM

Schließen Sie in kürzerer Zeit mehr Aufträge ab.

CRM
Sign

Unterschreiben und versenden Sie Dokumente.

Sign
Forms

Builder für Onlineformulare zur Datenerfassung.

Forms
Bigin

Pipeline-zentriertes CRM für kleine Unternehmen.

Bigin
SalesIQ

Wandeln Sie Website Besucher in Kunden um.

SalesIQ
Bookings

Terminplanungs-App für Kundengespräche.

Bookings
Pakete
CRM Plus

Einheitliche Plattform für ein erstklassiges Kundenerlebnis.

CRM Plus

Marketing

Campaigns

Erreichen und binden Sie Ihre Kunden.

Campaigns
Sign

Unterschreiben und versenden Sie Dokumente.

Sign
Forms

Builder für Onlineformulare zur Datenerfassung.

Forms
Social

Die umfassende Software zur Social-Media-Verwaltung.

Social
Survey

Online Umfragen für jede Gelegenheit.

Survey
SalesIQ

Wandeln Sie Website Besucher in Kunden um.

SalesIQ
Sites

Gestalten Sie Webseiten für mobile Geräte.

Sites
Backstage

Umfassende Eventmanagement-Software.

Backstage
PageSense

Software zur Optimierung der Konvertierungsrate.

PageSense
Marketing Automation

Eine All-in-One-Software für die Marketing-Automatisierung.

Marketing Automation
LandingPage

Intelligenter Landing Page Builder zur Steigerung der Konversationsraten.

LandingPage
Pakete
Marketing Plus

Einheitliche Marketing-Plattform für Marketing-Teams.

Marketing Plus

Commerce

Commerce

Alles rund um E-Commerce.

Commerce

Kundensupport

Desk

Omnichannel-Kundenservicelösung.

Desk
Assist

Bieten Sie weiter entfernten Kunden sofortigen Support.

Assist
SalesIQ

Wandeln Sie Website Besucher in Kunden um.

SalesIQ
Bookings

Terminplanungs-App für Kundengespräche.

Bookings
Lens

Interaktive Fernwartungssoftware mit Augmented Reality.

Lens
Pakete
Service Plus

Eine einheitliche Plattform für den Kundendienst und Support Teams.

Service Plus

Finanzen

Books

Intelligente Buchführung für wachsende Unternehmen

Books
Sign

Unterschreiben und versenden Sie Dokumente.

Sign
Inventory

Online Bestands- und Bestellverwaltung.

Inventory
KOSTENLOS
Invoice

Unkomplizierte Rechnungsstellung

Invoice
Commerce

Alles rund um E-Commerce.

Commerce

E-Mail & Zusammenarbeit

Mail

Sicherer E-Mail Service für Teams jeder Größe.

Mail
Sign

Unterschreiben und versenden Sie Dokumente.

Sign
WorkDrive

Online-Datenmanagement für Teams.

WorkDrive
Bookings

Terminplanungs-App für Kundengespräche.

Bookings
Cliq

Bleiben Sie mit Ihrem Team in Kontakt, egal wo Sie sind.

Cliq
Notebook

Ein perfektes Zuhause für alle Ihre Notizen.

Notebook
Meeting

Führen Sie Webinare online durch und halten Sie Meetings auf sichere Weise ab.

Meeting
Connect

Software für teamorientierte Arbeit, die Menschen zusammenbringt.

Connect
Learn

Plattform für Wissens- und Lernmanagement.

Learn
Office Integrator

Eingebauter Dokumenten-Editor für Webanwendungen.

Office Integrator
Writer

Bietet Ihnen einen übersichtlichen Raum zum Schreiben und Diskutieren.

Writer
Show

Erstellen, bearbeiten und teilen Sie Präsentationen mit einer praktischen Anwendung.

Show
Sheet

Die Tabellenkalkulationssoftware für kollaborative Teams.

Sheet
Calendar

Online-Geschäftskalender zur Verwaltung und Planung von Terminen.

Calendar
Pakete
Workplace

Anwendungssuite zur Verbesserung der Produktivität und Zusammenarbeit von Teams.

Workplace

Personalwesen

Recruit

Intuitive Rekrutierungsplattform zur Bereitstellung von Einstellungslösungen.

Recruit
People

Organisieren, automatisieren und vereinfachen Sie Ihre Personalprozesse.

People
Sign

Unterschreiben und versenden Sie Dokumente.

Sign
Workerly

Verwalten Sie Zeitarbeitskräfte mit einer Lösung für die Mitarbeiterplanung.

Workerly
Pakete
People Plus

Umfassende HR-Plattform für reibungslose Mitarbeitererfahrung.

People Plus

Sicherheit und IT

Creator

Erstellen Sie maßgeschneiderte Anwendungen zur Vereinfachung von Geschäftsprozessen.

Creator
Assist

Bieten Sie weiter entfernten Kunden sofortigen Support.

Assist
Vault

Online-Passwortmanager für Teams.

Vault
Lens

Interaktive Fernwartungssoftware mit Augmented Reality.

Lens

Business Intelligence & Analyse

Analytics

Moderne BI- und Analyseplattform zur freien Verwendung.

Analytics
DataPrep

KI-gestützter Datenaufbereitungsdienst für Ihr datenorientiertes Unternehmen.

DataPrep
Embedded BI

Eingebettete Analysen und White-Label-BI-Lösungen, maßgeschneidert für Ihre Bedürfnisse.

Embedded BI

Project Management

Projects

Verwalten Sie Projekte, tracken Sie sie und arbeiten Sie mit Ihren Teams zusammen.

Projects
Sprints

Planungs- und Tracking-Tool für Teams.

Sprints
BugTracker

Automatische Bug-Tracker-Software zur Verwaltung von Fehlern.

BugTracker

Entwickler-Plattformen

Creator

Erstellen Sie maßgeschneiderte Anwendungen zur Vereinfachung von Geschäftsprozessen.

Creator
Flow

Automatisieren Sie Geschäftsabläufe durch die Erstellung intelligenter Integrationen.

Flow
Office Integrator

Eingebauter Dokumenten-Editor für Webanwendungen.

Office Integrator
DataPrep

KI-gestützter Datenaufbereitungsdienst für Ihr datenorientiertes Unternehmen.

DataPrep
Embedded BI

Eingebettete Analysen und White-Label-BI-Lösungen, maßgeschneidert für Ihre Bedürfnisse.

Embedded BI
CRM Plus

Einheitliche Plattform für ein erstklassiges Kundenerlebnis.

JETZT TESTEN
CRM Plus
Service Plus

Eine einheitliche Plattform für den Kundendienst und Support Teams.

JETZT TESTEN
Service Plus
People Plus

Umfassende HR-Plattform für reibungslose Mitarbeitererfahrung.

JETZT TESTEN
People Plus
Workplace

Anwendungssuite zur Verbesserung der Produktivität und Zusammenarbeit von Teams.

JETZT TESTEN
Workplace
Marketing Plus

Einheitliche Marketing-Plattform für Marketing-Teams.

JETZT TESTEN
Marketing Plus
All-In-One Suite

Zoho One

Das Operation System für Unternehmen

Betreiben Sie Ihr gesamtes Unternehmen über Zoho mit unserer einheitlichen Cloud-Software, die Ihnen hilft, Silos zwischen Abteilungen aufzubrechen und die organisatorische Effizienz zu steigern.

TESTEN SIE ZOHO ONE
Zoho Marketplace

Mit über 2000 einsatzbereiten Erweiterungen in mehr als 40 Kategorien können Sie Ihre bevorzugten Business-Tools mit den Zoho-Produkten verbinden, die Sie bereits verwenden.

MARKETPLACE ENTDECKEN

Serverlose Funktionen – Verwendung des API-Schlüssels

API-Schlüssel von Funktionen

Eine serverlose Funktion in Ihrem CRM kann aus jeder Drittanbieteranwendung oder innerhalb des CRM über einen Webhook aufgerufen werden. Im Allgemeinen unterstützen die meisten Webhooks jedoch OAuth2 nicht, mit Ausnahme einiger weniger. In solchen Fällen können Sie die Funktion mit der Authentifizierung per API-Schlüssel ausführen, die entweder von Ihnen oder von anderen verwendet werden kann, um die Funktion von überall aufzurufen.

Der Unterschied zwischen API-Schlüssel und OAuth2 liegt im Modus der Authentifizierung. Der API-Schlüssel muss in der Anforderungs-URL und nicht als Header authentifiziert werden.

Siehe auch:

Beispielfunktion:

Szenario:

Helpdesk- und Support-bezogene Software ist ein absolutes Muss in einem Unternehmen, das die Interaktion mit Kunden und Clients beinhaltet. Die Integration Ihrer Helpdesk-Software in Ihr CRM spart viel Zeit und Mühe, um alle Ihre Geschäftsinformationen von einem einzigen Ort aus zu verwalten.

Zendesk ist eine solche Software. Die von Zoho entwickelte Software Zoho Desk ist ebenfalls eine solche Software, aber der Unterschied besteht darin, dass die Integration von Zoho Desk in Zoho CRM automatisch erfolgt, während Sie Zendesk nur über Widgets integrieren müssen. Darüber hinaus müssen Sie, wenn Sie die Ticketinformationen von einem Helpdesk zum anderen übertragen müssen, große Anstrengungen unternehmen. Daher ist eine Integration von Zendesk und Zoho Desk über serverlose Funktionen in Zoho CRM sehr praktisch und nützlich.

Das Szenario, von dem wir jetzt ausgehen werden, ist ähnlich. Wann immer ein Ticket in Zendesk erstellt wird, sollte auch in Zoho Desk ein Ticket mit den gleichen Informationen erstellt werden.

Erforderliche Anwendungen:

  • Zendesk
  • Zoho Desk

Teil 1: Eine Verbindung herstellen

Damit die Funktion Drittanwendungen nutzen und den Datentransfer erleichtern kann, müssen Sie zunächst eine Verbindung zwischen Zoho CRM und der genannten Drittanbietersoftware herstellen. In diesem Fall wäre es Zendesk. Mehr dazu.

Erstellen einer Verbindung zu Zoho Desk:

Teil 2: Eine Funktion erstellen

Erstellen Sie eine Funktion in Zoho CRM (inklusive des Codes aus der Verbindung).

Teil 2.1: Funktion schreiben

Der Funktionscode lautet:

+

string createTicket(string requestBody){
  if(isNull(requestBody))
  {
    return "Kein Inhalt";
  }
  if(!requestBody.contains("arguments"))
  {
    return "Ungültiges Format";
  }
  requestBody = requestBody.get("arguments");
  requestBody = requestBody.get("requestBody");
  requestBody = requestBody.get("details");
  deskURL = "https://desk.zoho.com/api/v1/";
  header = {"orgId":"664950682"};
  departmentId = "264631000000006907"; //Ticket und Benutzerangaben aus requestBody holen
  userDetails = requestBody.get("user");
  ticketDetails = requestBody.get("ticket"); //Zuweisung erstellen
  param = Map(); //Details einfügen
  param.put("departmentId",departmentId);
  if(!userDetails.contains("email"))
  {
    return "E-Mail ist obligatorisch";
  }
  email = userDetails.get("email");
  param.put("email",email);
  contactName = "Gast";
  if(userDetails.contains("full_name"))
  {
    contactName = userDetails.get("full_name");
  }
  else if(userDetails.contains("first_name") && userDetails.contains("last_name"))
  {
    contactName = userDetails.get("first_name") + " " + userDetails.contains("last_name");
  }
  else if(userDetails.contains("first_name"))
  {
    contactName = userDetails.get("first_name");
  }
  else if(userDetails.contains("last_name"))
  {
    contactName = userDetails.get("last_name");
  }
  //Kontakt-ID aus dem Kontaktnamen abrufen
  //Alle Kontakte abrufen
  contactList = invokeurl
  [
    url :deskURL + "contacts"
    type :GET
    headers:header
    connection:"zoho_desk9"
  ];
  isExistingCustomer = false;
  contactId = "";
  contactList = contactList.get("data");
  for each contactInfo in contactList
  {
    contactEmail = contactInfo.get("email");
    if(!isNull(contactEmail))
    {
      if(email.equals(contactEmail))
      {
        isExistingCustomer = true;
        contactId = contactInfo.get("contactId");
        break;
      }
    }
  }
  info isExistingCustomer;
  if(!isExistingCustomer)
  {
    //Einen neuen Kontakt erstellen
    contactParam = Map();
    contactParam.put("firstName",userDetails.get("first_name"));
    contactParam.put("lastName",userDetails.get("last_name"));
    contactParam.put("mobile",userDetails.get("mobile"));
    contactParam.put("email",userDetails.get("email"));
    contactParam.put("accountId","264631000000081178");
    contactList = invokeurl
    [
      url :deskURL + "contacts"
      type :POST
      parameters:contactParam.toString()
      headers:header
      connection:"zoho_desk9"
    ];
    contactId = contactList.get("id");
  }
  param.put("contactId",contactId);
  if(!ticketDetails.contains("title"))
  {
    return "Titel ist obligatorisch";
  }
  param.put("subject",ticketDetails.get("title"));
  if(!ticketDetails.contains("status"))
  {
    return "Status ist obligatorisch";
  }
  param.put("status",ticketDetails.get("status"));
  if(ticketDetails.contains("priority"))
  {
    param.put("priority",ticketDetails.get("priority"));
  }
  if(userDetails.contains("organization"))
  {
    organization = userDetails.get("organization");
    if(organization.contains("name"))
    {
      param.put("accountName",organization.get("name"));
    }
  }
  if(userDetails.contains("mobile"))
  {
    param.put("phone",userDetails.get("mobile"));
  }
  if(userDetails.contains("description"))
  {
    param.put("description",userDetails.get("description"));
  }
  info param;
  response = invokeurl
  [
    url :deskURL + "tickets"
    type :POST
    parameters:param.toString()
    headers:header
    connection:"zoho_desk9"
  ];
  if(response.contains("errorMessage"))
  {
    return "Entschuldigung, es ist ein Fehler aufgetreten. error ::: " + response.get("errorMessage");
  }
  //Benachrichtigung an Support-Team senden
  sendmail
  [
    from :zoho.adminuserid
    to :"deborah.g@zohocorp.com"
    subject :"no-reply"
    message :"'Sehr geehrtes Team,<expression></expression><div><br></div><div>ein neues Ticket wird über Zendesk in Zoho DESK erstellt.</div><div><br></div><div>Ticketdetails – </div><div><br></div><div>Nutzername – ' + contactName + '</div><div><br></div><div><br></div><div>Anfragetext = " + requestBody + "</div><div><br></div>'"
  ]
  return response;
}

 

Teil 2.2: So stellen Sie die Funktion als API-Schlüssel zur Verfügung:

  1. Klicken Sie auf das Symbol Einstellungen für die entsprechende Funktion, die eine API erhalten soll.
  2. Klicken Sie auf REST-API.
  3. Aktivieren Sie den Schieberegler API-Schlüssel.
  4. Klicken Sie auf Speichern.

Teil 3: Einen Webhook in Zendesk erstellen:

  1. Navigieren Sie zu "Admin > Erweiterung > HTTP-Ziel".
  2. Geben Sie die folgenden Informationen an:
    • Funktions-URL
    • Methode – GET oder POST
    • Wählen Sie den Inhaltstyp "JSON". Um mehr zu erfahren, klicken Sie hier.

Hinweis:

  • Die Funktions-URL ist die API-Schlüssel-URL, die Sie aus Schritt 2 erhalten.

Teil 4: Einen Auslöser in Zendesk erstellen:

  1. Bedingung – wenn ein Ticket erstellt wird.
  2. Ziel benachrichtigen – HTTP-Zielname

JSON-Textkörper Argumente:

{"arguments":
{
"requestBody":{

"details":{
"ticket":
{
"title":"{{ticket.title}}",
"description":"{{ticket.description}}",
"source":"{{ticket.via}}",
"priority":"{{ticket.priority}}",
"due_date":"{{ticket.due_date}}",
"URI":"{{ticket.url}}",
"status":"{{ticket.status}}"
},
"assignee":
{
"email":"{{ticket.assignee.email}}",
"name":"{{ticket.assignee.name}}",
"first_name":"{{ticket.assignee.first_name}}",
"last_name":"{{ticket.assignee.last_name}}"
},
"user":
{
"full_name":"{{current_user.name}}",
"first_name":"{{current_user.first_name}}",
"language":"{{current_user.language}}",
"details":"{{current_user.details}}",
"mobile":"{{current_user.phone}}",
"email":"{{current_user.email}}",
"organization":
{
"details":"{{current_user.organization.details}}",
"name":"{{current_user.organization.name}}"
}}
}}
}}

Teil 5: Ein Argument konfigurieren, das den gesamten Anfrage-Textkörper enthält.

Wenn ein Webhook Daten an eine Funktion sendet, gibt es keine Möglichkeit, die Anzahl der darin enthaltenen Argumente zu erfahren. Um dieses Problem zu lösen, können Sie die Funktion so konfigurieren, dass sie den gesamten Anfrage-Textkörper in einem einzigen Argument enthält.

Rufen Sie die Desk-API innerhalb der Funktion auf, und speichern Sie die Funktion.

Das Ergebnis:

Erstellen eines Tickets in Zendesk:

Das Ticket wird in Zoho Desk erstellt

 
 

Thanks for the recommendations. We will incorporate them at the earliest.

Translation Feedback

We would love to hear your thoughts on the page translation.

Name*

E-Mail*

Betreff*

Error Description

Page URL

Screenshots Attach files   Each of your file(s) can be up to 20MB in size.You can attach as many as 5 files at a time.