Arbeidsflytregler
Automatiser Helpdesk-prosessene dine med tilpassbare arbeidsflytregler. Arbeidsflytregler lar deg automatisk oppdatere billettattributter, sende varsler og utløse spesifikke handlinger basert på definerte hendelser eller betingelser. Denne funksjonen hjelper med å redusere manuelt arbeid, opprettholde konsistens og øke responstider.
Etter installasjon oppretter Helpdesk MX automatisk standard arbeidsflytregelen "Auto-change status to Waiting for Customer on agent reply".
Generell informasjon

- Rule Name: definer et beskrivende navn for regelen. Tydelig navngiving hjelper teamet ditt med enkelt å identifisere hva hver regel gjør.
- Active: aktiver eller deaktiver regelen. Bare aktive regler utføres når deres hendelse og betingelser er oppfylt.
- Event: velg hendelsen som utløser regelen.
- Priority / Sort Order: spesifiser regelens behandlingsrekkefølge. Lavere tall utføres først. Dette hjelper med å kontrollere hvilke regler som har forrang når flere regler gjelder for samme hendelse.
- Stop Further Rules Processing: stopp utførelse av regler med lavere prioritet når denne regelen er anvendt. Nyttig når du vil at en spesifikk regel skal ha full kontroll over en hendelse.
Hendelser
Hendelser definerer når arbeidsflytregelen evalueres. Tilgjengelige hendelser inkluderer:
- New Ticket — utløst når en ny billett opprettes.
- New Customer Reply — utløst når en kunde sender et nytt svar.
- New Staff Reply — utløst når en agent legger ut et svar.
- New Third Party Reply — utløst når en tredjepart sender en melding.
- Ticket Assigned — utløst når en billett tildeles en bruker.
- Ticket Updated — utløst når billettfelt oppdateres.
- Cron Every Hour — utløst av systemet hver time, som tillater tidsbaserte handlinger.
Betingelser
Betingelser definerer når en arbeidsflytregler skal utføres. Du kan bruke en eller flere betingelser, kombinere dem med ALL/ANY-logikk, og til og med opprette nestede grupper for avansert filtrering. La denne seksjonen være tom for å få regelen til å utføres ved hver hendelse.

Tilgjengelige felt
Du kan bygge betingelser ved å bruke følgende felt:
- Subject — sjekker ord eller fraser i billettemneet.
- Customer Email — matcher kundens e-postadresse.
- Customer Name — sammenligner kundens navn.
- Channel — filtrerer billetter opprettet fra spesifikke kilder (f.eks. e-post, kontaktskjema, API).
- Department — matcher gjeldende avdeling tildelt billetten.
- Department (Before Change) — tillater sammenligning med avdelingen før en oppdateringshendelse.
- Folder — sjekker hvilken mappe billetten for øyeblikket tilhører.
- Folder (Before Change) — sjekker mappen før siste endring.
- Owner — matcher den tildelte agenten.
- Owner (Before Change) — sammenligner eieren før en oppdatering.
- Priority — sjekker gjeldende prioritet for billetten.
- Priority (Before Change) — sammenligner prioriteten før den ble oppdatert.
- Status — sjekker gjeldende billettstatus.
- Status (Before Change) — sammenligner forrige status.
- Last Message — lar deg sjekke innhold i siste melding.
- Last Reply By — definerer hvem som svarte sist (kunde, personale eller tredjepart).
- Hours Since Created — tid som har gått siden billetten ble opprettet.
- Hours Since Last Reply — tid siden siste svar ble gitt.
- Hours Since Updated — tid siden billetten sist ble endret.
Betingelsesoperatorer
Hver betingelse kan bruke en av følgende operatorer for å definere hvordan verdier sammenlignes:
- Equals — utløses når feltverdien nøyaktig matcher den spesifiserte verdien.
- Not Equals — utløses når feltverdien avviker fra den spesifiserte verdien.
- Greater Than — utløses når verdien er større enn den spesifiserte (hovedsakelig brukt med numeriske eller tidsfelt).
- Greater Than or Equals — utløses når verdien er større enn eller lik den spesifiserte.
- Less Than — utløses når verdien er mindre enn den spesifiserte.
- Less Than or Equals — utløses når verdien er mindre enn eller lik den spesifiserte.
- Between — utløses når verdien faller mellom to spesifiserte tall (nyttig for tidsbaserte betingelser).
- Matches Regex — sammenligner feltverdier ved å bruke regulære uttrykk for avansert mønstermatching.
- Starts With — utløses hvis feltet begynner med den spesifiserte teksten.
- Ends With — utløses hvis feltet slutter med den spesifiserte teksten.
- Is Empty — utløses når feltet ikke har noen verdi.
- Is Not Empty — utløses når feltet inneholder en verdi.
- Contains — utløses når feltet inkluderer den spesifiserte teksten.
- Does Not Contain — utløses når feltet ikke inkluderer den spesifiserte teksten.
Handlinger
Handlinger definerer hva som skjer når alle betingelser er oppfylt. Flere handlinger kan kombineres i en enkelt regel.

Tilgjengelige handlinger inkluderer:
- Set Status — oppdater billettens status.
- Set Priority — endre prioritetsnivået.
- Set Department — tildel billetten til en annen avdeling.
- Set Owner — tildel til en spesifikk agent.
- Change Folder — flytt billetten til en spesifikk mappe.
- Add Tags — legg til tagger for kategorisering.
- Remove Tags — slett eksisterende tagger fra billetten.
- Send Email — send e-postvarsler til spesifiserte mottakere.
- Run Script — utfør tilpasset JavaScript-kode for avansert automatisering.
Send e-post-handling
Send Email-handlingen lar deg sende automatiserte e-postvarsler når en regel utløses. Dette er nyttig for å varsle teammedlemmer, varsle kunder eller kommunisere med eksterne parter.
Tilgjengelige alternativer:
- Send to ticket owner — varsle den tildelte agenten.
- Send to all department users — varsle alle medlemmer av billettens avdeling.
- Send to customer — informer kunden om oppdateringer.
- Send to other addresses — spesifiser tilpassede e-postadresser.
- Email Subject — definer e-postemnelinje (støtter Liquid-malvariabler).
- Email Body — skriv e-postinnholdet (støtter Liquid-malvariabler).
- Include attachments — legg ved filer fra siste melding.
Malvariabler
Du kan bruke Liquid-malvariabler i Email Subject og Email Body-feltene for dynamisk å sette inn billett-, kunde- og meldingsinformasjon.
Billettvariabler:
| Variabel | Beskrivelse |
|---|---|
{{ ticket.code }} | Billettkode (f.eks. T-001) |
{{ ticket.subject }} | Billettemne |
{{ ticket.created_at }} | Tidsstempel for billettopprettelse |
{{ ticket.updated_at }} | Siste oppdateringstidsstempel |
{{ ticket.customer_name }} | Kundens fulle navn |
{{ ticket.customer_email }} | Kundens e-postadresse |
{{ ticket.admin_url }} | Direkte lenke til billett i adminpanel |
{{ ticket.admin_last_message_text }} | Innhold i siste agentsvar (ren tekst) |
{{ ticket.admin_last_message_html }} | Innhold i siste agentsvar (HTML) |
{{ ticket.customer_last_message_text }} | Innhold i siste kundesvar (ren tekst) |
{{ ticket.customer_last_message_html }} | Innhold i siste kundesvar (HTML) |
Eier/tildelt-variabler:
| Variabel | Beskrivelse |
|---|---|
{{ owner.firstname }} | Tildelt agents fornavn |
{{ owner.lastname }} | Tildelt agents etternavn |
{{ owner.email }} | Tildelt agents e-post |
{{ owner.fullname }} | Tildelt agents fulle navn |
{{ owner.is_admin }} | Om eieren er en admin |
Avdelingsvariabler:
| Variabel | Beskrivelse |
|---|---|
{{ department.name }} | Avdelingsnavn |
{{ department.sender_name }} | Avdelings avsendernavn |
Meldingsvariabler (når utløst av meldingshendelser):
| Variabel | Beskrivelse |
|---|---|
{{ message.body_text }} | Meldingsinnhold (ren tekst) |
{{ message.body_html }} | Meldingsinnhold (HTML) |
{{ message.type }} | Meldingstype |
{{ message.created_at }} | Tidsstempel for meldingsopprettelse |
Dato/tid-variabler:
| Variabel | Beskrivelse |
|---|---|
{{ now }} | Nåværende tidsstempel (RFC3339) |
{{ date }} | Nåværende dato (YYYY-MM-DD) |
{{ time }} | Nåværende tid (HH:MM:SS) |
{{ year }} | Nåværende år |
Eksempel på e-postmal:
Subject: Nytt svar på billett #{{ ticket.code }}
Hei {{ owner.firstname }},
En kunde har svart på billett "{{ ticket.subject }}".
Kunde: {{ ticket.customer_name }} ({{ ticket.customer_email }})
Siste melding:
{{ ticket.customer_last_message_text }}
Vis billett: {{ ticket.admin_url }}
Kjør skript-handling
Run Script-handlingen lar deg utføre tilpasset JavaScript-kode for å implementere kompleks automatiseringslogikk som går utover enkle felttildelinger. Skript kan lese billettdata, ta betingede beslutninger og oppdatere flere felt samtidig.
Tilgjengelige billettegenskaper (les):
| Egenskap | Beskrivelse |
|---|---|
ticket.id | Billett unik identifikator |
ticket.subject | Billettemne |
ticket.folder | Gjeldende mappe (INBOX, ASSIGNED, SPAM, osv.) |
ticket.tags | Array av tagger |
ticket.status | Objekt med id, code og name |
ticket.priority | Objekt med id og name |
ticket.department | Objekt med id og name |
ticket.owner | Objekt med id, email, firstname, lastname |
ticket.customer | Objekt med id, email, firstname, lastname, name |
ticket.<custom_field_code> | Egendefinert feltverdi etter kode |
Tilgjengelige billettegenskaper (skriv):
| Egenskap | Forventet verdi |
|---|---|
ticket.status | Statuskode (string) eller status-ID |
ticket.priority | Prioritetsnavn (string) eller prioritet-ID |
ticket.department | Avdelingsnavn (string) eller avdeling-ID |
ticket.owner | Bruker-e-post (string) eller bruker-ID |
ticket.folder | Mappenavn: "INBOX", "ASSIGNED", "SPAM", "ARCHIVE" |
ticket.tags | Array av tag-strenger |
ticket.<custom_field_code> | Verdi som matcher egendefinert felttype |
Hjelpefunksjoner:
| Funksjon | Returnerer |
|---|---|
getStatuses() | Array av alle tilgjengelige statuser |
getPriorities() | Array av alle tilgjengelige prioriteter |
getDepartments() | Array av alle tilgjengelige avdelinger |
getUsers() | Array av alle tilgjengelige brukere |
fetch(url, options) | Utfør HTTP-forespørsler til eksterne API-er |
Meldingskontekst (tilgjengelig når regelen utløses av en meldingshendelse):
| Egenskap | Beskrivelse |
|---|---|
message.id | Meldings unik identifikator |
message.body_text | Meldingsinnhold (ren tekst) |
message.body_html | Meldingsinnhold (HTML) |
message.createdAt | Tidsstempel for meldingsopprettelse |
Skripteksempler:
// Sett prioritet basert på emnenøkkelord
if (ticket.subject.toLowerCase().includes("urgent")) {
ticket.priority = "High";
}
// Rute billetter til avdelinger basert på innhold
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-kundehåndtering
if (ticket.customer && ticket.customer.email.endsWith("@enterprise.com")) {
ticket.priority = "High";
ticket.tags = ["vip", "enterprise"];
}
// Sett egendefinert feltverdi
ticket.order_id = "12345";
ticket.vip_customer = true;
ticket.order_amount = 99.99;
// Hent kundedata fra ekstern API og oppdater billett
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";
}
}
Viktige merknader:
- Skript har en 10-sekunders timeout for å forhindre uendelige løkker.
- Ugyldige feltverdier (ikke-eksisterende status, prioritet, osv.) ignoreres grasiøst.
- Skriptfeil påvirker ikke andre regler eller krasjer systemet.
- Egendefinerte felt refereres til ved koden deres, ikke navnet.
Varsler
Du kan sende automatiserte e-postvarsler når regelen utføres for å holde alle parter informert.

Varselalternativer inkluderer:
- Send email to ticket owner — varsle den tildelte agenten.
- Send email to all department users — varsle alle avdelingsmedlemmer.
- Send email to customer — informer kunden om endringer.
- Send email to other addresses — send til eksterne mottakere.
- Email Subject — spesifiser emnelinje.
- Email Body — skriv e-postinnholdet.
- Attach files previously attached to the last message — inkluder tidligere vedlegg for kontekst.
Eksempel på arbeidsflytregler
Endre status på kundesvar
Når en kunde svarer, endrer systemet automatisk billettstatusen til Waiting for Agent.
Type: Workflow Rule
Is Active: Yes
Event: New Customer Reply
Conditions: Status Not Equals Closed
Actions: Set Status → Waiting for Agent
Nytt svar fra tredjepart
Når en tredjepart sender en melding, setter systemet statusen til Waiting for Agent og legger til en tag `third_party`.
Type: Workflow Rule
Is Active: Yes
Event: New Third Party Reply
Conditions:None
Actions:
Set Status → Waiting for Agent
Add Tags → third_party
Billett tildelt personale
Når en billett tildeles et personalmedlem, flyttes den automatisk til Assigned-mappen og sender en e-postvarsel.
Type: Workflow Rule
Is Active: Yes
Event: Ticket Assigned
Conditions: None
Actions:
Change Folder → Assigned
Send email to ticket owner
Lukk billett etter 72 timer uten svar
Hvis ingen svar mottas innen 72 timer, lukkes billetten automatisk.
Type: Workflow Rule
Is Active: Yes
Event:Cron Every Hour
Conditions:
Status Equals Waiting for Customer
Hours Since Last Reply Greater Than 72
Actions: Set Status → Closed
Skript: Rute og prioriter basert på kunde-e-postdomene
Rute bedriftskunder til dedikert støtte og sett høy prioritet.
Type: Workflow Rule
Is Active: Yes
Event: New Ticket
Conditions: None
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-kategoriser billetter etter emnenøkkelord
Kategoriser billetter automatisk og sett egendefinerte felt basert på emneinnhold.
Type: Workflow Rule
Is Active: Yes
Event: New Ticket
Conditions: None
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: Eskaler basert på meldingsinnholdsanalyse
Oppdag hastenøkkelord i meldinger og auto-eskaler billetter.
Type: Workflow Rule
Is Active: Yes
Event: New Customer Reply
Conditions: None
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;
}
}
}
```