Hoppa till huvudinnehåll

Arbetsflödesregler

Automatisera dina Helpdesk-processer med anpassningsbara arbetsflödesregler. Arbetsflödesregler later dig automatiskt uppdatera arendeattribut, skicka aviseringar och utlosa specifika atgarder baserat pa definierade handelser eller villkor. Denna funktion hjalper till att minska manuellt arbete, upprathalla konsistens och paskynda svarstider.

Efter installation skapar Helpdesk MX automatiskt standardarbetsflödesregeln "Auto-change status to Waiting for Customer on agent reply".


Allman information​

Allman informationAllman information
  • Rule Name: definiera ett beskrivande namn for regeln. Tydlig namngivning hjalper ditt team att enkelt identifiera vad varje regel gor.
  • Active: aktivera eller inaktivera regeln. Endast aktiva regler kors nar deras handelse och villkor uppfylls.
  • Event: valj handelsen som utloser regeln.
  • Priority / Sort Order: ange regelns bearbetningsordning. Lagre nummer kors forst. Detta hjalper till att kontrollera vilka regler som har foretrade nar flera regler galler for samma handelse.
  • Stop Further Rules Processing: sluta kora regler med lagre prioritet nar denna regel har tillampats. Anvandbart nar du vill att en specifik regel ska ta full kontroll over en handelse.

Handelser​

Handelser definierar nar arbetsflödesregeln utvarderas. Tillgangliga handelser inkluderar:

  • New Ticket - utloses nar ett nytt arende skapas.
  • New Customer Reply - utloses nar en kund skickar ett nytt svar.
  • New Staff Reply - utloses nar en agent publicerar ett svar.
  • New Third Party Reply - utloses nar en tredje part skickar ett meddelande.
  • Ticket Assigned - utloses nar ett arende tilldelas en anvandare.
  • Ticket Updated - utloses nar arendefalt uppdateras.
  • Cron Every Hour - utloses av systemet varje timme, vilket tillater tidsbaserade atgarder.

Villkor​

Villkor definierar nar en arbetsflödesregel ska koras. Du kan anvanda ett eller flera villkor, kombinera dem med ALL/ANY-logik, och till och med skapa kapslade grupper for avancerad filtrering. Lamna denna sektion tom for att gora sa att regeln kors vid varje handelseforekomst.

VillkorVillkor

Tillgangliga falt​

Du kan bygga villkor med foljande falt:

  • Subject - kontrollerar ord eller fraser i arendets amne.
  • Customer Email - matchar kundens e-postadress.
  • Customer Name - jamfor kundens namn.
  • Channel - filtrerar arenden skapade fran specifika kallor (t.ex. e-post, kontaktformular, API).
  • Department - matchar den aktuella avdelningen tilldelad arendet.
  • Department (Before Change) - tillater jamforelse med avdelningen fore en uppdateringshandelse.
  • Folder - kontrollerar vilken mapp arendet for narvarande tillhor.
  • Folder (Before Change) - kontrollerar mappen fore den senaste andringen.
  • Owner - matchar den tilldelade agenten.
  • Owner (Before Change) - jamfor agaren fore en uppdatering.
  • Priority - kontrollerar arendets aktuella prioritet.
  • Priority (Before Change) - jamfor prioriteten innan den uppdaterades.
  • Status - kontrollerar arendets aktuella status.
  • Status (Before Change) - jamfor foregaende status.
  • Last Message - later dig kontrollera innehall i det senaste meddelandet.
  • Last Reply By - definierar vem som svarade senast (kund, personal eller tredje part).
  • Hours Since Created - tid som forflutit sedan arendet skapades.
  • Hours Since Last Reply - tid sedan det senaste svaret gjordes.
  • Hours Since Updated - tid sedan arendet senast andrades.

Villkorsoperatorer​

Varje villkor kan anvanda en av foljande operatorer for att definiera hur varden jamfors:

  • Equals - utloses nar faltvärdet exakt matchar det angivna vardet.
  • Not Equals - utloses nar faltvärdet skiljer sig fran det angivna vardet.
  • Greater Than - utloses nar vardet ar storre an det angivna (huvudsakligen anvands med numeriska eller tidsfalt).
  • Greater Than or Equals - utloses nar vardet ar storre an eller lika med det angivna.
  • Less Than - utloses nar vardet ar mindre an det angivna.
  • Less Than or Equals - utloses nar vardet ar mindre an eller lika med det angivna.
  • Between - utloses nar vardet faller mellan tva angivna siffror (anvandbart for tidsbaserade villkor).
  • Matches Regex - jamfor faltvarden med reguljara uttryck for avancerad monstermatchning.
  • Starts With - utloses om faltet borjar med den angivna texten.
  • Ends With - utloses om faltet slutar med den angivna texten.
  • Is Empty - utloses nar faltet inte har nagot varde.
  • Is Not Empty - utloses nar faltet innehaller nagot varde.
  • Contains - utloses nar faltet inkluderar den angivna texten.
  • Does Not Contain - utloses nar faltet inte inkluderar den angivna texten.

Atgarder​

Atgarder definierar vad som hander nar alla villkor ar uppfyllda. Flera atgarder kan kombineras inom en enda regel.

AtgarderAtgarder

Tillgangliga atgarder inkluderar:

  • Set Status - uppdatera arendets status.
  • Set Priority - andra prioritetsnivan.
  • Set Department - omtilldela arendet till en annan avdelning.
  • Set Owner - tilldela till en specifik agent.
  • Change Folder - flytta arendet till en specifik mapp.
  • Add Tags - lagg till taggar for kategorisering.
  • Remove Tags - ta bort befintliga taggar fran arendet.
  • Send Email - skicka e-postaviseringar till angivna mottagare.
  • Run Script - kor anpassad JavaScript-kod for avancerad automatisering.

Send Email-atgard​

Send Email-atgarden later dig skicka automatiska e-postaviseringar nar en regel utloses. Detta ar anvandbart for att varna teammedlemmar, meddela kunder eller kommunicera med externa parter.

Tillgangliga alternativ:

  • Send to ticket owner - meddela den tilldelade agenten.
  • Send to all department users - varna alla medlemmar i arendets avdelning.
  • Send to customer - informera kunden om uppdateringar.
  • Send to other addresses - ange anpassade e-postadresser.
  • Email Subject - definiera e-postmeddelandets amnesrad (stodjer Liquid-mallvariabler).
  • Email Body - skriv e-postinnehallet (stodjer Liquid-mallvariabler).
  • Include attachments - bifoga filer fran det senaste meddelandet.

Mallvariabler​

Du kan anvanda Liquid-mallvariabler i Email Subject och Email Body-falten for att dynamiskt infoga arende-, kund- och meddelandeinformation.

Arendevariabler:

VariabelBeskrivning
{{ ticket.code }}Arendekod (t.ex. T-001)
{{ ticket.subject }}Arendets amnesrad
{{ ticket.created_at }}Tidsstampel for arendeskapande
{{ ticket.updated_at }}Tidsstampel for senaste uppdatering
{{ ticket.customer_name }}Kundens fullstandiga namn
{{ ticket.customer_email }}Kundens e-postadress
{{ ticket.admin_url }}Direktlank till arendet i admin-panelen
{{ ticket.admin_last_message_text }}Texten fran senaste agentsvar (klartext)
{{ ticket.admin_last_message_html }}Texten fran senaste agentsvar (HTML)
{{ ticket.customer_last_message_text }}Texten fran senaste kundsvar (klartext)
{{ ticket.customer_last_message_html }}Texten fran senaste kundsvar (HTML)

Agare/tilldelningsvariabler:

VariabelBeskrivning
{{ owner.firstname }}Tilldelad agents fornamn
{{ owner.lastname }}Tilldelad agents efternamn
{{ owner.email }}Tilldelad agents e-post
{{ owner.fullname }}Tilldelad agents fullstandiga namn
{{ owner.is_admin }}Om agaren ar admin

Avdelningsvariabler:

VariabelBeskrivning
{{ department.name }}Avdelningsnamn
{{ department.sender_name }}Avdelningens avsandarnamn

Meddelandevariabler (nar utlost av meddelandehandelser):

VariabelBeskrivning
{{ message.body_text }}Meddelandeinnehall (klartext)
{{ message.body_html }}Meddelandeinnehall (HTML)
{{ message.type }}Meddelandetyp
{{ message.created_at }}Tidsstampel for meddelande

Datum/tidsvariabler:

VariabelBeskrivning
{{ now }}Aktuell tidsstampel (RFC3339)
{{ date }}Aktuellt datum (YYYY-MM-DD)
{{ time }}Aktuell tid (HH:MM:SS)
{{ year }}Aktuellt ar

Exempel pa e-postmall:

Subject: Nytt svar pa arende #{{ ticket.code }}

Hej {{ owner.firstname }},

En kund har svarat pa arendet "{{ ticket.subject }}".

Kund: {{ ticket.customer_name }} ({{ ticket.customer_email }})

Senaste meddelande:
{{ ticket.customer_last_message_text }}

Visa arende: {{ ticket.admin_url }}

Run Script-atgard​

Run Script-atgarden later dig kora anpassad JavaScript-kod for att implementera komplex automatiseringslogik som gar bortom enkla falttilldelningar. Skript kan lasa arendedata, fatta villkorliga beslut och uppdatera flera falt samtidigt.

Tillgangliga arendeegenskaper (lasning):

EgenskapBeskrivning
ticket.idArendets unika identifierare
ticket.subjectArendets amnesrad
ticket.folderAktuell mapp (INBOX, ASSIGNED, SPAM, etc.)
ticket.tagsArray av taggar
ticket.statusObjekt med id, code och name
ticket.priorityObjekt med id och name
ticket.departmentObjekt med id och name
ticket.ownerObjekt med id, email, firstname, lastname
ticket.customerObjekt med id, email, firstname, lastname, name
ticket.<custom_field_code>Anpassat faltvarde via dess kod

Tillgangliga arendeegenskaper (skrivning):

EgenskapForväntat varde
ticket.statusStatuskod (strang) eller status-ID
ticket.priorityPrioritetsnamn (strang) eller prioritets-ID
ticket.departmentAvdelningsnamn (strang) eller avdelnings-ID
ticket.ownerAnvandar-e-post (strang) eller anvandar-ID
ticket.folderMappnamn: "INBOX", "ASSIGNED", "SPAM", "ARCHIVE"
ticket.tagsArray av taggstrangar
ticket.<custom_field_code>Varde som matchar det anpassade faltets typ

Hjalpfunktioner:

FunktionReturnerar
getStatuses()Array av alla tillgangliga statusar
getPriorities()Array av alla tillgangliga prioriteter
getDepartments()Array av alla tillgangliga avdelningar
getUsers()Array av alla tillgangliga anvandare
fetch(url, options)Gor HTTP-forfragningar till externa API:er

Meddelandekontext (tillganglig nar regeln utloses av en meddelandehandelse):

EgenskapBeskrivning
message.idMeddelandets unika identifierare
message.body_textMeddelandeinnehall (klartext)
message.body_htmlMeddelandeinnehall (HTML)
message.createdAtTidsstampel for meddelande

Skriptexempel:

// Stall in prioritet baserat pa amnesnyckelord
if (ticket.subject.toLowerCase().includes("urgent")) {
ticket.priority = "High";
}
// Dirigera arenden till avdelningar baserat pa innehall
if (ticket.subject.includes("billing") || ticket.subject.includes("invoice")) {
ticket.department = "Billing";
} else if (ticket.subject.includes("technical") || ticket.subject.includes("error")) {
ticket.department = "Technical Support";
}
// VIP-kundhantering
if (ticket.customer && ticket.customer.email.endsWith("@enterprise.com")) {
ticket.priority = "High";
ticket.tags = ["vip", "enterprise"];
}
// Stall in anpassat faltvarde
ticket.order_id = "12345";
ticket.vip_customer = true;
ticket.order_amount = 99.99;
// Hamta kunddata fran externt API och uppdatera arende
var response = fetch("https://api.example.com/customers/" + ticket.customer.email, {
headers: { "Authorization": "Bearer YOUR_API_KEY" }
});

if (response.ok && response.json) {
ticket.customer_tier = response.json.tier;
if (response.json.tier === "enterprise") {
ticket.priority = "High";
ticket.department = "Enterprise Support";
}
}

Viktiga anmarkningar:

  • Skript har en 10-sekunders timeout for att forhindra oandliga loopar.
  • Ogiltiga faltvarden (icke-existerande status, prioritet, etc.) ignoreras graciost.
  • Skriptfel paverkar inte andra regler eller orsakar systemfel.
  • Anpassade falt refereras med deras kod, inte namn.

Aviseringar​

Du kan skicka automatiska e-postaviseringar nar regeln kors for att halla alla parter informerade.

AviseringarAviseringar

Aviseringsalternativ inkluderar:

  • Send email to ticket owner - meddela den tilldelade agenten.
  • Send email to all department users - varna alla avdelningsmedlemmar.
  • Send email to customer - informera kunden om andringar.
  • Send email to other addresses - skicka till externa mottagare.
  • Email Subject - ange amnesraden.
  • Email Body - skriv e-postinnehallet.
  • Attach files previously attached to the last message - inkludera tidigare bilagor for kontext.

Exempel pa arbetsflödesregler​

Andra status vid kundsvar
Nar en kund svarar andrar systemet automatiskt arendets status till Waiting for Agent.

Typ: Workflow Rule
Is Active: Ja
Event: New Customer Reply
Conditions: Status Not Equals Closed
Actions: Set Status -> Waiting for Agent
Nytt svar fran tredje part
Nar en tredje part skickar ett meddelande satter systemet status till Waiting for Agent och lagger till en tagg `third_party`.

Typ: Workflow Rule
Is Active: Ja
Event: New Third Party Reply
Conditions: Inga
Actions:
Set Status -> Waiting for Agent
Add Tags -> third_party
Arende tilldelat personal
Nar ett arende tilldelas en personalmedlem flyttas det automatiskt till Assigned-mappen och en e-postavisering skickas.

Typ: Workflow Rule
Is Active: Ja
Event: Ticket Assigned
Conditions: Inga
Actions:
Change Folder -> Assigned
Send email to ticket owner
Stang arende efter 72 timmar utan svar
Om inget svar mottas inom 72 timmar stangs arendet automatiskt.

Typ: Workflow Rule
Is Active: Ja
Event: Cron Every Hour
Conditions:
Status Equals Waiting for Customer
Hours Since Last Reply Greater Than 72
Actions: Set Status -> Closed
Skript: Dirigera och prioritera baserat pa kundens e-postdoman
Dirigera enterprise-kunder till dedikerad support och satt hog prioritet.

Typ: Workflow Rule
Is Active: Ja
Event: New Ticket
Conditions: Inga
Actions: Run Script

```javascript
if (ticket.customer && ticket.customer.email) {
var domain = ticket.customer.email.split("@")[1];

if (domain === "enterprise.com" || domain === "bigcorp.com") {
ticket.priority = "High";
ticket.department = "Enterprise Support";
ticket.tags = ["enterprise", "priority"];
}
}
```
Skript: Auto-kategorisera arenden efter amnesnyckelord
Kategorisera automatiskt arenden och satt anpassade falt baserat pa amnesinnehall.

Typ: Workflow Rule
Is Active: Ja
Event: New Ticket
Conditions: Inga
Actions: Run Script

```javascript
var subject = ticket.subject.toLowerCase();

if (subject.includes("refund") || subject.includes("return")) {
ticket.department = "Billing";
ticket.category = "refund_request";
} else if (subject.includes("password") || subject.includes("login")) {
ticket.department = "Technical Support";
ticket.category = "account_access";
} else if (subject.includes("order") || subject.includes("shipping")) {
ticket.department = "Orders";
ticket.category = "order_inquiry";
}
```
Skript: Eskalera baserat pa meddelandeinnehallsanalys
Detektera bradskande nyckelord i meddelanden och auto-eskalera arenden.

Typ: Workflow Rule
Is Active: Ja
Event: New Customer Reply
Conditions: Inga
Actions: Run Script

```javascript
if (message && message.body_text) {
var body = message.body_text.toLowerCase();
var urgentKeywords = ["asap", "urgent", "critical", "down", "outage", "emergency"];

for (var i = 0; i < urgentKeywords.length; i++) {
if (body.includes(urgentKeywords[i])) {
ticket.priority = "High";
ticket.tags = ticket.tags.concat(["escalated"]);
break;
}
}
}
```