Automatiseringer
Automatiseringer lader dig oprette arbejdsgange i flere trin — tænk Zapier eller n8n, men bygget til dine kontakter og samtaler.
Automations er tilgængelig på alle konti — den er allerede i din sidebjælke, og der er intet, der skal aktiveres eller anmodes om.
En Automation er en arbejdsgang: én trigger, der starter den, efterfulgt af et vilkårligt antal trin, der kører i rækkefølge (eller forgrener sig baseret på en betingelse). Det er værktøjet til alt, der er mere komplekst end “send denne åbning, giv svar videre til en agent” — sekvenser i flere trin, opslag i data, forbindelse til eksterne værktøjer og logik, der forgrener sig afhængigt af, hvad en kontakt gør.
Hvor finder du det: I sidepanelet under gruppen AI Studio skal du klikke på Automations.

Automations-siden før du har oprettet noget.
Oprettelse af en automatisering
Klik på Opret din første automatisering (eller Ny automatisering, når du har andre). Du lander på et tomt lærred med to måder at bygge på:
-
Beskriv det på almindeligt dansk. Skriv hvad du ønsker i prompt-feltet (for eksempel “Send en opfølgning, hvis der ikke er svar inden for 1 time”, “Tag kontakter, der spørger om priser”, eller “Giv min AI-agent en måde at slå en ordrestatus op på”), så opretter den triggeren og trinnene for dig (inklusive AI Agent Function-værktøjer, som din agent kan kalde). Du kan fortsætte med at chatte for at finjustere resultatet bagefter. Er du i tvivl om, hvad du skal bede om? En række eksempler på idéer findes under feltet. Klik på en for at indsætte den i feltet og redigere den derfra, eller klik på Flere idéer for at gennemse resten. Mens du skriver, foreslår feltet også, hvordan du kan færdiggøre sætningen, vist med gråt foran din markør: tryk på Tab for at acceptere forslaget, eller fortsæt blot med at skrive for at ignorere det.
-
Byg det manuelt. Træk elementer ind fra panelet til venstre og over på lærredet, og forbind dem. +-tegnet på et trin fungerer begge veje: tag fat i det og træk — en linje følger din markør, og hvor end du giver slip, oprettes det næste trin, allerede forbundet — eller klik blot på det for at åbne en lille vælger og indsætte trinnet direkte der. Du kan trække ud fra et output-punkt på samme måde, og elementer i vælgeren kan også trækkes direkte over på lærredet. Når du skriver i vælgerens søgefelt, søges der i alt på én gang — indbyggede handlinger, forbundne apps og logiktrin — så du behøver ikke at vide, hvilket faneblad noget ligger under. Panelet til venstre har det samme søgefelt øverst: skriv “loop”, “webhook” eller navnet på en app, så filtreres alle sektioner — triggere, handlinger, apps og logik — på én gang.
-
Spørg Champ. Fra enhver side kan du fortælle hjælperen i appen, hvad du ønsker (“når nogen booker, giv dem et tag og send en påmindelse dagen før”, “tænd for AI’en igen to timer efter, jeg overtager en chat”), så bygger han det for dig. Se Sådan beder du Champ om at bygge eller rette en herunder.
Du kan kombinere alle tre: start fra en prompt eller fra Champ, og juster derefter resultatet på lærredet, eller omvendt.
Byg med prompt-linjen
Prompt-linjen bliver i bunden af lærredet, så du kan fortsætte med at bede om ændringer, mens du bygger.
- Du kan stoppe det. Mens det bygger, bliver send-knappen til en Stop-knap. Klik på den, og bygningen stopper der, hvilket efterlader lærredet præcis, som det var, før du bad om det.
- Det husker samtalen. Dine sidste par instruktioner i den samme session bliver husket, så en kort opfølgning som “fjern det trin” eller “gør forsinkelsen til to dage i stedet” forstås, uden at du behøver at beskrive hele automatiseringen igen.
- Ændringer venter på din godkendelse. Når du beder AI’en om at ændre en automatisering, der allerede har trin, erstatter den ikke længere dit lærred med det samme. Den foreslåede version vises på lærredet med nye trin markeret med grønt og ændrede trin i ravgult, og en bjælke i bunden viser, hvad der blev tilføjet, ændret og fjernet, hvor mange forbindelser der blev ændret, og det nye navn, hvis den valgte et. Klik på Acceptér for at beholde det eller Afvis for at føre alt tilbage til præcis, som det var (Cmd+Z eller Ctrl+Z afviser også). Indtil du vælger, kan automatiseringen ikke gemmes eller aktiveres. Opbygning fra et tomt lærred anvendes stadig med det samme, da der ikke er noget at miste.
- Hvad AI’en siger, bliver stående, indtil du lukker det. Når AI’en forklarer noget om, hvad den byggede (et trin den udelod, et spørgsmål den har brug for svar på), bliver den note stående på skærmen, indtil du fjerner den. Den vises også i gennemgangsbjælken ved siden af ændringerne, og derefter åbner en Vis AI’ens note-knap over prompt-linjen den igen indtil din næste anmodning.
- Én Fortryd tager hele ændringen tilbage. Alt, hvad AI’en tilføjede eller omarrangerede, tæller som én ændring, så efter du har accepteret det, vil et klik på Fortryd i værktøjslinjen én gang føre lærredet tilbage til, hvordan det var.
- Den tilføjer kun det, du bad om. Den vil ikke snige trin ind, der ændrer en kontos kreditter, blokerer en konto, sletter ting eller sender beskeder til folk, medmindre du bad om det, så en prompt om at tagge kontakter kommer tilbage som tagning af kontakter og intet andet.
- Den skriver på dit sprog. De trin-etiketter, den placerer på lærredet, samt automatiseringens navn, beskrivelse og noter, kommer tilbage på det sprog, din app er indstillet til – det, du valgte under Indstillinger → Profil → Sprog. Indstil appen til fransk, og det, AI’en skriver, er på fransk, uden at du behøver at bede om det. Automatiseringer, du allerede har, forbliver præcis, som de er, så ændring af dit sprog omskriver dem ikke: bed prompt-linjen om at omdøbe trinnene, eller omdøb dem selv.
- Den navngiver og beskriver, hvad den bygger. En ny automatisering kommer tilbage med et navn og en kort beskrivelse allerede udfyldt, så listen Automatiseringer fortæller dig, hvad hver enkelt gør, uden at du behøver at åbne den. Når du beder om en ændring senere, lader den navnet og beskrivelsen, du har, være i fred, medmindre du beder den om at omdøbe eller genbeskrive automatiseringen, eller ændringen gjorde dem forkerte. Alt, hvad du selv har skrevet, erstattes kun, når du beder om det.
Sådan beder du Champ om at bygge eller rette en
Champ, hjælperen i hjørnet af hver side, kan bygge en automatisering til dig og ændre en, du allerede har. Beskriv hvad der skal ske og hvornår, så finder han de nødvendige dele på din konto (dine agenter, tags, lister og begivenhedstyper), sammensætter triggeren og trinnene og gemmer den.
- Det, han gemmer, er altid et udkast, der er slået fra. Intet kører på grund af en chat. Når han har bygget eller ændret en, fortæller han dig i klare vendinger, hvad den vil gøre, hvad den sender og til hvem, og tilbyder at åbne den på lærredet eller at slå den til.
- At slå den til kræver et separat ja. Han tænder kun for en automatisering, når du beder ham om det i en senere besked, efter du har set, hvad den gør. Et ja til at bygge den er ikke et ja til at slå den til. At bede ham om at slå en fra virker altid.
- Han tilføjer kun det, du bad om, den samme regel som prompt-linjen følger: ingen ekstra trin, der sender, sletter, pauser eller ændrer kreditter, og ingen gættede id’er. Når noget er tvetydigt (hvilken agent, hvilket tag, hvor lang tid før), spørger han først.
- Ret en fejl. Indsæt en kørselsfejl eller fortæl ham, hvilket trin der er forkert (“påmindelsestrinnet har ingen beskedtekst”), så ændrer han det trin og beholder resten. Hvis automatiseringen er tændt, er rettelsen live med det samme; det fortæller han dig.
- Hvad bliver på lærredet. Sletning af en automatisering, manuel kørsel af en, og alt hvad der kræver en app, du forbinder i editoren (et regneark, din mailserver), gøres her, ikke i chatten.
Alt, hvad han bygger, åbner i denne editor ligesom enhver anden automatisering, så du kan læse den, finjustere den og selv slå den til.
Lagring af dine ændringer
Intet på lærredet gemmes automatisk. Hver ændring, du foretager — tilføjelse af et trin, redigering af et felt, flytning af en node, ændring af automatiseringens indstillinger — forbliver som et udkast i din browser, indtil du klikker på Gem øverst til højre (eller trykker på Cmd+S / Ctrl+S). Mens der er noget, der ikke er gemt, står status ud for knappen som Ugemt udkast; Kassér sletter udkastet og fører automatiseringen tilbage til dens sidst gemte tilstand.
En aktiv automatisering fortsætter med at køre på sin sidst gemte version, mens du arbejder, så du kan ombygge halvdelen af den uden at noget ufærdigt bliver aktiveret i virkeligheden. Når du slår Aktiveret-kontakten til, gemmes der først, fordi det, du slår til, er det, der er på lærredet. Hvis du lukker fanen eller går til en anden side med ugemte ændringer, bliver du spurgt, om du vil gemme, forlade siden uden at gemme eller blive.

Efter en ændring står der Unsaved draft i overskriften. Save gemmer ændringen, Discard fører automationen tilbage til dens sidst gemte tilstand.
Triggere
Enhver automatisering starter med præcis én udløser – den hændelse, der sætter den i gang. Der er mange af dem nu, så udløservælgeren sorterer dem i grupper efter, hvad de handler om.
Beskeder
| Udløser | Aktiveres når… |
|---|---|
| Indgående besked | En kontakt sender en besked via en hvilken som helst kanal eller en kanal, du vælger — valgfrit begrænset til beskeder, der indeholder bestemte ord, og til samtaler med én AI-agent (eller én klassisk kampagne). Se Kør en automatisering for kun én agent |
| Besked leveret | En besked, du har sendt, bekræftes som leveret af kanalen. Kan begrænses til én kanal og til kontakterne for én AI-agent |
| Besked fejlede | En besked, du har sendt, kunne ikke leveres. Kørslen modtager årsagen fra kanalen, så du kan give nogen besked, prøve en anden kanal eller tagge kontakten. En WhatsApp Web-besked til et nummer, der ikke er på WhatsApp, tæller også: årsagen er “Dette nummer er ikke på WhatsApp”, og fejlkoden er not_on_whatsapp, hvilket et Betingelse-trin kan kontrollere. Kan begrænses til én kanal og til kontakterne for én AI-agent |
| Ubesvaret opkald | Nogen ringer til et af dine WhatsApp Web-numre eller dit forbundne Twilio SMS-nummer, og du tager ikke telefonen — uanset om de lægger på efter et par ring eller det ringer ud. Valgfrit begrænset til opkald til et af disse numre. Kørslen ved, hvem der ringede, hvilket nummer de ringede til, hvilken kanal det var, og om det var et videoopkald, så en besked kan sendes tilbage til dem via WhatsApp eller SMS inden for få sekunder. Se Eksempel: gør et ubesvaret WhatsApp-opkald til en chat |
| Opfølgning sendt | Din agent sender en automatisk opfølgning til en kontakt. Kørslen modtager information om, hvilken opfølgning det var (hurtig, varm cyklus eller kold), beskedteksten og kanalen, så du kan logge det i dit CRM eller give nogen besked |
| Opfølgning sprunget over | En opfølgning blev tilbageholdt, fordi agentens afsendelseskontrol fejlede. Kørslen modtager information om, hvad kontrollen så. Se Send kun en opfølgning, når en kontrol er bestået |
| Opfølgninger opbrugt | En kontakt har modtaget hver opfølgning i sekvensen uden at svare. Tidspunktet for at overdrage dem til en person eller flytte handlen |
| Besked sendt | En besked forlader din konto. Den aktiveres for hver udgående besked, uanset hvad der sendte den, så brug Sendt af til at begrænse den til AI-agenten, en person, en automatisering, en udsendelse, API’et eller en automatisk opfølgning. Kan også begrænses til én kanal |
| Samtale lukket | En chatsession er lukket. Kørslen modtager information om, hvornår samtalen startede, hvornår den lukkede, og hvor mange beskeder den indeholdt, så du kan logge den, give den en score eller rapportere om den. Kan begrænses til én kanal og til samtaler med én AI-agent |
| Udsendelse afsluttet | En udsendelse er færdig med at sende. Ingen indstillinger skal udfyldes: kørslen modtager information om, hvor mange beskeder der blev sendt, hvor mange der fejlede, og totalen |
Kontakter
| Udløser | Aktiveres når… |
|---|---|
| Ny kontakt | En kontakt tilføjes til din konto — fra en samtale, en import, en formular, API’et, hvor som helst |
| Kontakt opdateret | En kontakts detaljer ændres — ethvert felt eller et specifikt felt, du vælger. For Tags, vælger Bliver til et eller flere af dine egne tags, så den kun aktiveres, når kontakten får et af dem; for Tildelt til, vælger den et eller flere af dine teammedlemmer, så den kun aktiveres, når kontakten tildeles en af dem |
| Kontakt tilføjet | Du tilføjer selv kontakter til den — i bulk fra Kontakter, fra én kontakt, fra en samtale eller fra selve automatiseringen. Én kørsel pr. kontakt. Se Tilføjelse af kontakter til en automatisering |
| Tag anvendt | Et tag tilføjes til en kontakt. Begræns det til ét tag (vælg det fra dine tags, eller vælg Skriv et navn i stedet for et, som din AI-agent vil oprette senere), til én kanal, og til hvem der anvendte det: din AI-agent, en person, en automatisering, API’et eller en import |
| Tag fjernet | Et tag fjernes fra en kontakt. Begræns det til ét tag (valgt fra dine tags eller indtastet) og til én kanal |
Handler
| Udløser | Aktiveres når… |
|---|---|
| Aftale opdateret | En aftales detaljer ændres — ethvert felt eller et specifikt felt, du vælger (f.eks. dens stadie). For Tildelt til vælger Bliver til et eller flere af dine teammedlemmer |
| Aftale oprettet | En ny aftale tilføjes til en af dine pipelines. Kan begrænses til én pipeline og ét stadie |
| Aftale-stadie ændret | En aftale flyttes til et andet stadie, uanset hvordan den flyttedes: trukket på tavlen, flyttet af en automatisering, flyttet af en tag-regel eller flyttet af inaktivitetsreglen på selve stadiet. Kørslen navngiver det stadie, den forlod, og det, den trådte ind i. Kan begrænses til én pipeline, til aftaler der flyttes ud af et stadie, ind i et stadie eller begge dele |
Aftaler
| Udløser | Udløses når… |
|---|---|
| Aftale booket | En ny aftale bookes |
| Aftale annulleret | En booket aftale annulleres – annulleringsårsagen følger med |
| Før en aftale | Et fastsat tidspunkt før hver bekræftet aftale, til påmindelser. Vælg de tidspunkter, du ønsker – 24 timer før, 3 timer før eller dit eget antal minutter – op til fem pr. automatisering. Påmindelsen udløses præcis på det tidspunkt, uanset den lokale tid. Hvis en forskydning kan lande midt om natten for nogle kontakter, skal du aktivere Respekter stille timer i automatiseringsindstillingerne, så venter beskeden til kl. 08:00 deres tid – se Respektering af stille timer og Eksempel: aftalepåmindelser |
| Aftale ombooket | En booket aftale flyttes til et andet tidspunkt. Kørslen modtager den forrige start- og slutdato ved siden af de nye, så en besked kan fortælle kontakten præcis, hvad der er ændret. Kan begrænses til én aftaletype |
Opgaver
| Udløser | Aktiveres når… |
|---|---|
| Opgave oprettet | En opgave oprettes — valgfrit kun én type opgave, såsom en menneskelig advarsel, et vidensbase-hul, en opfølgning eller en af dine egne opgavetyper |
| Opgave fuldført | En opgave flyttes til et fuldført stadie |
Konto
| Udløser | Aktiveres når… |
|---|---|
| Lav kreditbalance | Din kreditbalance falder til under den advarselsgrænse, der er angivet på din konto. Den aktiveres højst én gang om dagen og genaktiveres, når du har fyldt op |
| Kanal forbundet | En af dine kanaler er færdig med at oprette forbindelse, f.eks. parring af et WhatsApp-nummer eller tilknytning af en Instagram-konto. Kan begrænses til én kanal |
| Kanal afbrudt | En af dine kanaler afbrydes: logget ud, fjernet eller afskåret af udbyderen. Det rette tidspunkt at advare dig selv på, før beskeder begynder at fejle. For et WhatsApp Web-nummer aktiveres en logout eller fjernelse med det samme; et kortvarigt udfald, der genopretter forbindelsen af sig selv, tæller ikke, og aktiveres kun, hvis nummeret stadig er nede 30 minutter senere. trigger.reason angiver hvilken: logged_out, blocked_by_whatsapp eller not_reconnected. Kan begrænses til én kanal |
Apps
| Udløser | Aktiveres når… |
|---|---|
| App-begivenhed | Noget sker i en app, du forbinder: en aftalefase ændres i HubSpot, en betaling modtages i Stripe, en formular indsendes i Typeform, en række tilføjes til et Google-ark. Vælg appen og derefter begivenheden. Alt, hvad appen sender om begivenheden, er tilgængeligt for senere trin. Se App-begivenheder |
Bureau
| Udløser | Aktiveres når… |
|---|---|
| Underkonto oprettet | En klientkonto oprettes under dit bureau — fra din Underkonti-side, over API’et eller gennem din egen tilmeldingsside. Hvilken af de tre det var, følger med kørslen som created_via |
| Underkonto-aktivitet | Noget sker på en af dine klientkonti. Vælg den begivenhed, du interesserer dig for: kreditter lave, kreditter opbrugt, kanal tilsluttet, kanal afbrudt, blokeret, afblokeret, plan ændret, plan annulleret, abonnement startet, genabonneret efter annullering eller slettet. Lad den stå på Enhver begivenhed, og automatiseringen kører for dem alle |
Begge disse findes på din bureau-konto, ikke inde i klientens — byg dem én gang, og de dækker hver eneste klient, du har, inklusive dem, du tilføjer senere. Klientkontoens detaljer følger med kørslen som alle andre udløserdata: ${trigger.sub_account.id}, ${trigger.sub_account.email}, ${trigger.sub_account.business_name}, ${trigger.sub_account.credits}, ${trigger.sub_account.created_via} og resten af kontoens felter — indsæt dem med +-knappen i stedet for at skrive dem. Underkontoaktivitet giver dig også selve hændelsen (${trigger.event}) og hvad denne hændelse indebærer, såsom den saldo, der udløste den. Kombiner dem med handlingen Opdater underkonto herunder: Automatiser hvad der sker med klientkonti indeholder opskrifterne.
Hvilken plan-begivenhed? Der er fire, og de snævre findes, så en kørsel kun starter, når der er noget at gøre. Abonnement startet aktiveres, når en klient går fra ingen plan til en aktiv: et første abonnement, en prøveperiode der starter, eller en klient der kommer tilbage efter annullering. Genabonneret efter annullering aktiveres kun for det sidste tilfælde, en klient hvis plan blev annulleret og tegner abonnement igen, og den aktiveres sammen med Abonnement startet, så vælg én af de to til en automatisering, ikke begge. Plan annulleret aktiveres kun, når en klient annullerer sin plan, eller når deres prøveperiode slutter uden at et abonnement starter. Ingen af de tre reagerer på en fornyelse, et skift mellem planer, en prøveperiode der bliver til en betalt plan, eller en mislykket betaling der genoprettes. Plan ændret er den brede: den aktiveres, hver gang planen eller dens status flyttes, hvilket inkluderer hver start, hver annullering og hvert skift, så to automatiseringer på Plan ændret, der er beregnet til modsatte tilfælde (én for at forlade, én for at komme tilbage), kører begge ved den samme annullering. Sæt hver på sin egen snævre begivenhed i stedet, så kan de aldrig kollidere, og du stopper med at betale for kørsler, som et Betingelse-trin smider væk. Alle fire bærer plannavnet og abonnementsstatusen, plus hvad de var før ændringen: ${trigger.previous_plan_name} og ${trigger.previous_subscription_status}, tomme når klienten ikke havde nogen plan. En udløser, der står på Enhver begivenhed, reagerer på en planflytning én gang gennem Plan ændret; de tre snævre begivenheder starter kun en automatisering, der vælger dem ved navn, så intet kører to gange.
Kredit lav: vælg din egen grænse. Vælg Kredit lav som hændelse, og et felt til Grænse for lav kredit vises. Lad det stå tomt, og hændelsen udløses, når en kundes kredit falder til under grænsen for deres automatiske optankning, eller under 10, hvis de ikke har nogen. Indtast et tal, og denne automatisering udløses, når kundens kredit falder til det tal eller derunder, når den kommer oppefra. Hver automatisering har sit eget tal, så én kan advare dig ved 500 og en anden ved 50. Kørslen medbringer saldoen før faldet (${trigger.previous_credits}), grænsen der blev krydset (${trigger.threshold}) og om kunden har automatisk optankning slået til (${trigger.auto_top_up_enabled}, sandt uanset om du betaler for deres optankninger, eller de bruger deres eget kort). Kredit opbrugt medbringer også ${trigger.auto_top_up_enabled}. I et Betingelse-trin filtrerer forudindstillingerne Kredit før og Auto-optankning til på disse, for eksempel for kun at advare de kunder, hvis konto ikke tanker sig selv op.
Generelt
| Udløser | Aktiveres når… |
|---|---|
| Efter tidsplan | Et tilbagevendende tidspunkt, du indstiller (f.eks. hver morgen kl. 9) |
| Webhook | Et eksternt værktøj eller websted sender data til en webadresse, som automatiseringen giver dig. Den kan sende JSON eller et klassisk form-post (det format, som mange betalingsudbydere og formularværktøjer bruger) — uanset hvad, er hvert felt, den sender, tilgængeligt for senere trin som ${trigger.field_name}. Alt, hvad der tilføjes til slutningen af webadressen, bliver også til et felt: …?phone=15551234567 giver dig ${trigger.phone}. Det er måden at få adgang på for formularbyggere, der ikke kan ændre formen på det, de sender, men som kan indsætte et svar i adressen (f.eks. Paperforms svar-piping: …?phone={{ your_phone_question_key }}) |
| AI Agent-funktion | Din AI-agent kalder selve automatiseringen midt i en samtale som en af sine evner — se næste afsnit |
| Nyt feed-element | Et nyt element vises i et RSS- eller Atom-feed, du peger på — tjekkes hvert par minutter. At tænde for automatiseringen aktiverer den ikke for elementer, der allerede er i feedet, kun for nye fra det tidspunkt |
| E-mail modtaget | En e-mail ankommer til din egen postkasse. Forbind postkassen én gang (din udbyders IMAP-oplysninger — serveradresse, brugernavn, adgangskode; hvis du bruger totrinsbekræftelse, skal du bruge en app-adgangskode). Du kan begrænse det til e-mails, hvis afsender eller emne indeholder bestemte ord |
| Manuel kørsel | Kun når du selv klikker på Kør — nyttigt, mens du stadig bygger og tester |
Triggers reagerer på hele din konto, ikke kun på editoren. Indgående besked, Kontakt opdateret og Handel opdateret udløses, uanset hvor ændringen kom fra: din AI-agent, der opdaterer en kontakt midt i en samtale, en udsendelse, nogen der redigerer en post på skærmen, en import eller din egen software, der kalder API’et. Du behøver ikke at gøre noget i automatiseringen for det – det er simpelthen sådan, de fungerer nu.
Valgte du den forkerte eller ombestemte du dig senere? Åbn triggeren og klik på Skift trigger for at skifte til en anden type — resten af din automatisering forbliver præcis, som den er. Hvis den nuværende trigger allerede har indstillinger, du har udfyldt, bliver du bedt om at bekræfte, før de slettes.
App-hændelser
Udløseren App-hændelse starter en automatisering baseret på noget, der sker i en anden app, du bruger. Der er i dag 41 apps at vælge imellem, herunder HubSpot, Pipedrive, Salesforce, Close, Stripe, Shopify, Calendly, Typeform, Google Sheets, Google Drive, Google Calendar, Gmail, Outlook, Slack, Discord, Trello, ClickUp, Asana, Monday, Jira, Linear, Notion, Airtable, Zendesk, Zoom, Mailchimp, MailerLite, Kit, DocuSign og GitHub. Vælgeren viser kun apps, der kan rapportere hændelser.
Opsætning
- Åbn udløseren og vælg App-hændelse under Apps. (Har du allerede en anden udløser? Klik på Skift udløser først.)
- Under App skal du vælge appen. Under Hændelse skal du vælge, hvad der skal ske i den, for at automatiseringen kører én gang.
- Hvis appen ikke er forbundet endnu, skal du forbinde den med det samme, på samme måde som du forbinder en app til et handlingstrin. Under Konto viser automatiseringen, hvilken forbundet konto den lytter på.
- Udfyld Hændelsesindstillinger, hvis hændelsen har nogen. Dette er de detaljer, appen skal bruge for at vide, hvilke hændelser der skal sendes, og de påkrævede felter er markeret. Nogle hændelser kræver detaljer fra appens egne udviklerindstillinger. Hvor det er tilfældet, forklarer Sådan opsættes dette i appen under hændelsen, hvor du finder dem.
- Gem automatiseringen og slå den til.
Lytter den? Under indstillingerne fortæller udløseren dig, hvordan status er. Lytter betyder, at hændelser fra appen starter automatiseringen. Sat på pause med automatiseringen betyder, at automatiseringen er slået fra: slå den til igen, så lytter den igen. Lytter ikke vises sammen med årsagen fra appen, for eksempel at den forbundne konto blev fjernet. Hvis du sætter automatiseringen på pause, stoppes hændelserne. Hvis du sletter den eller skifter udløseren til en anden app eller hændelse, fjernes den gamle lytter. Hvis du afbryder forbindelsen til en apps konto, stoppes alle automatiseringer, der lytter på den konto, og deres udløsere viser hvorfor.
Nogle apps rapporterer hændelser med et par minutters forsinkelse. Ikke alle apps sender en hændelse i det øjeblik, den sker. For disse tjekkes hændelsen hvert par minutter (intervallet i Hændelsesindstillinger, i minutter), så en kørsel kan starte lidt efter selve hændelsen. Udløseren viser en note, når den hændelse, du har valgt, fungerer på denne måde.
Brug af det, appen sendte. Hvert felt, som appen sender om hændelsen, er tilgængeligt for efterfølgende trin som ${trigger.field_name}. Udover disse er ${trigger.app_event.toolkit} appen, ${trigger.app_event.event} hændelsen, ${trigger.app_event.id} id’et for denne levering og ${trigger.app_event.received_at} hvornår den ankom. Hele leveringen, uberørt, ligger under ${trigger.raw}. Eksemplet i +-vælgeren starter med det, hændelsen normalt indeholder. Når en rigtig hændelse er kommet ind, skal du klikke på Brug den sidste rigtige hændelse som eksempel, hvorefter vælgeren viser præcis de felter, din app sender.
Hvad det koster. Hver kørsel koster det samme som en kørsel startet af enhver anden udløser (se Hvad koster automatiseringer). I kørselshistorikken er disse kørsler markeret som App-hændelse.
Begivenheder, som en app kun sender til udvikler-apps. Nogle få begivenheder kan ikke aktiveres fra en normal app-forbindelse, fordi appen kun leverer dem til en udvikler-app. I dag er dette HubSpots Kontakt oprettet og Aftalestadie opdateret. De vises gråtonede i begivenhedslisten med Ikke tilgængelig; hold musen over etiketten for at se hvorfor. For at reagere på nye HubSpot-kontakter eller ændringer i aftaler, skal du bruge en Tidsplan-udløser (f.eks. hver time) med et HubSpot-søgetrin, der finder de aftaler eller kontakter, der er ændret siden sidste kørsel, og en Løkke over det, den finder.
Automatiseringsindstillinger
Nogle valg tilhører automatiseringen som helhed frem for ét trin. De findes bag tandhjulsikonet øverst til højre i editoren, i Automatisering-indstillinger, og de er en del af udkastet ligesom alt andet — klik på Gem for at de træder i kraft. Der er fem:
- Beskrivelse: en note om, hvad denne automatisering gør, vist under dens navn på listen.
- Tillad genindtræden — om en kontakt kan gennemgå denne automatisering mere end én gang.
- Stop ved svar — afslut en kontakts kørsel i det øjeblik, de sender dig en besked.
- Respekter nattetimer — hold beskeder tilbage, der ville blive sendt om natten i kontaktens lokale tid.
- Kør kun i disse timer — ignorer udløseren uden for et tidsvindue, du har indstillet.

Klik på tandhjulsikonet, Settings for the whole automation, for at åbne Automation settings: beskrivelsen samt Allow re-entry, Stop on response, Respect quiet hours og Only run during these hours.
Beskrivelse af, hvad en automatisering gør
Et navn som “Ubesvaret opkald tekst-svar” fortæller dig nok; “Opfølgning 3” en måned senere gør ikke. Beskrivelse-feltet øverst i Automatisering-indstillinger er fri tekst til præcis det: skriv en linje eller to om, hvad automatiseringen gør, hvem den er til, eller hvorfor du byggede den.
Det, du skriver, vises under automatiseringens navn på listen Automatiseringer, så du kan læse ned ad siden og se, hvad hver enkelt er til, uden at åbne den. Søgefeltet på den side gennemsøger både beskrivelser og navne, så “restaurant” eller “påmindelse” i en beskrivelse er nok til at finde automatiseringen igen. Det er valgfrit, det ændrer intet ved, hvordan automatiseringen kører, og at lade det stå tomt holder listen præcis, som den var.
Lad en kontakt gennemgå den mere end én gang
Tillad genindtræden afgør, hvad der sker, når udløseren aktiveres igen for en person, der allerede har gennemgået automatiseringen.
- Fra: hver kontakt gennemgår automatiseringen én gang. Næste gang udløseren aktiveres for dem — de sender en ny besked, booker en ny aftale, får det samme tag igen — starter intet. Kørselshistorikken forbliver stille for dem, på samme måde som den gør for en besked, der ikke matcher udløserens filter. Enhver, der nogensinde har haft en kørsel af denne automatisering, tæller som at have gennemgået den, uanset om kørslen blev færdiggjort, fejlede eller blev stoppet.
- Til: en kontakt kan komme ind igen, hver gang udløseren aktiveres. Dette er indstillingen for alt, der er tilbagevendende — aftalepåmindelser, bookingbekræftelser, et nøgleord, der skal have det samme svar hver gang.
Standardindstillingen afhænger af udløseren. For Kontakt tilføjet (personer du tilføjer fra siden Kontakter) er den slået fra, så tilføjelse af den samme liste to gange aldrig sender dobbeltbeskeder til nogen. For alle andre udløsere er den slået til, hvilket er sådan, automatiseringer altid har opført sig — intet, du har bygget før denne indstilling eksisterede, ændrer sig af sig selv.
To ting du skal huske på. Genindtræden handler om kontakten, så udløsere, der ikke bærer en — På tidspunkt, Webhook modtaget, RSS, E-mail modtaget — påvirkes ikke af nogen af delene. Og de tre aftaleudløsere (Aftale booket, Aftale annulleret, Før en aftale) tillader altid genindtræden, uanset hvad kontakten siger: de aktiveres én gang pr. booking, og en påmindelsesudløser aktiveres én gang pr. påmindelsestidspunkt, så en “én gang” pr. kontakt ville springe en tilbagevendende kundes næste booking over og endda den anden påmindelse for den samme. Kontakten er gråtonet for disse.
Stop når en kontakt svarer
Stop on response er beregnet til opfølgningssekvenser: en kørsel, der venter i en forsinkelse (Delay) eller arbejder sig igennem sine trin, afsluttes i det øjeblik kontakten sender dig en besked på en hvilken som helst kanal. Deres kørsel vises som Cancelled i kørselsloggen; ingen andres kørsel bliver berørt, og automationen forbliver tændt for alle andre. Når Stop on response afslutter en kørsel, angiver detaljesiden, at kontakten svarede, mens en kørsel, du selv annullerer, angiver, at den blev annulleret manuelt.
Den er som standard slået fra. Når den er slået til, og automatiseringens egen trigger er Indgående besked, kan det svar, der stopper én kørsel, starte en ny, hvis triggeren matcher det, og genindtræden er tilladt — på samme måde som en opfølgningssekvens ville genstarte i de fleste CRM-systemer. Slå også genindtræden fra, hvis du ønsker, at hver kontakt kun skal modtage sekvensen én gang.
Respektering af stille timer
En automatisering kører i det øjeblik, dens udløser aktiveres, og det øjeblik er ikke altid belejligt — en aftalepåmindelse indstillet til 12 timer før lander kl. 02:00 for alle med en tidlig morgenaftale, og en kontakt på den anden side af jorden sover, når du ikke gør.
Respekter stille timer er en kontakt pr. automatisering til netop dette formål. Hvor finder du den: Klik på tandhjulsikonet øverst til højre i editoren for at åbne Automationsindstillinger — den er tilgængelig uanset hvilken type trigger automatiseringen har.
Den er som standard slået fra, både på nye og eksisterende automatiseringer, så intet, du allerede har bygget, ændrer adfærd af sig selv.
Når du slår den til, gælder det kun for den pågældende automatisering:
- Beskedtrin, der ville blive sendt mellem kl. 20.00 og 08.00 i kontaktens lokale tid, venter og sendes i stedet omkring kl. 08.00 deres tid — en kort tilfældig forsinkelse spreder dem over tidsrummet 08.00–08.15 i stedet for at sende dem alle på én gang. Dette dækker Send besked, WhatsApp-skabelon og WhatsApp Web-sendetrin.
- Alle andre trin kører stadig med det samme. Tags, betingelser, forsinkelser, webhooks, opdatering af en kontakt, oprettelse af en opgave — intet af dette holdes tilbage. Kun selve beskeden venter.
- Beskedtrin inde i et Loop er den eneste undtagelse — de sendes med det samme, selvom kontakten er slået til: Hvis man holdt hver kontakts besked tilbage separat, ville det sprede ét loop ud over hele det stille tidsrum. Placer beskeden efter loopet, hvis den skal vente til morgen, eller brug Kør kun i disse timer på triggeren, så hele loopet kører på et passende tidspunkt.
- Triggerens egen timing ændrer sig ikke. En påmindelse “3 timer før aftalen” kører stadig tre timer før; hvis det lander kl. 03.00 om natten, sker kørslen, og det er beskeden, der venter til morgen.
- Lokal tid betyder kontaktens tid, ikke din. Den beregnes ud fra deres telefonnummers landekode eller en tidszone gemt på kontakten — på samme måde som kontoens generelle indstilling for Stille timer gør det.
Dette er adskilt fra den kontodækkende Stille timer-indstilling under Indstillinger → Profil, som dækker opfølgninger og AI-planlagte afsendelser. Den rækker ikke ind i dine automatiseringer, hvilket er grunden til, at hver automatisering har sin egen kontakt. Se Stille timer & Overholdelse for den kontomæssige del.
Bygger du en påmindelse til et fast tidspunkt på dagen? Hvis beskeden alligevel kun sendes i arbejdstiden, så lad kontakten være slået fra — det koster dig intet, men der er ingen grund til at tilføje en pause, der aldrig vil blive brugt.
Kører kun i bestemte tidsrum
Stille timer tilbageholder beskeder; alle andre trin kører stadig. Nogle gange er det ikke det, du ønsker — nogle gange bør hele automatiseringen være slået fra uden for et bestemt tidsrum. Lad os sige, at den overdrager chats til dit team, og dit team kun er til stede fra 9 til 18: kl. 02:00 ønsker du ikke, at overdragelsen bliver forsinket til om morgenen, du ønsker, at den slet ikke sker.
Kør kun i disse timer er en sekundær kontakt pr. automatisering til netop dette formål. Hvor finder du den: Åbn Automationsindstillinger (tandhjulsikonet øverst til højre i editoren) — den findes lige under Respekter stille timer, uanset hvilken type trigger automatiseringen har. Slå den til, og indstil et starttidspunkt, et sluttidspunkt og en tidszone.
- Inden for tidsrummet opfører automatiseringen sig præcis som før.
- Uden for tidsrummet ignoreres udløseren ganske enkelt. Automatiseringen kører ikke, intet bliver sat i kø til senere, og intet vises i kørselshistorikken — hændelsen behandles på samme måde som en besked, der ikke matcher udløserens tekstfilter. Hvis hændelser om natten stadig skal håndteres på et tidspunkt, er denne kontakt det forkerte værktøj; lad den være slået fra og brug Respekter stille timer i stedet.
- Slut før start betyder et tidsrum natten over. 21:00 til 08:00 kører natten igennem og forbliver slået fra i løbet af dagen.
- Tidsrummet bruger den ene tidszone, du har indstillet på automatiseringen — ikke hver kontakts lokale tid. Stille timer er pr. kontakt; dette er ét ur for hele automatiseringen. Indtast tidszonen på samme måde, som Efter tidsplan-udløseren kræver det, f.eks.
Europe/LondonellerAmerica/Lima. - Efter tidsplan-udløsere tjekkes i det øjeblik, de aktiveres. En planlagt kørsel, hvis tidspunkt lander uden for tidsrummet, springes over, ikke flyttet.
Forskellen kort fortalt: Respekter stille timer kører automatiseringen og holder kun dens beskeder tilbage til om morgenen; Kør kun i disse tidsrum kører slet ikke automatiseringen.
Og hvis det, du faktisk ønsker, er én automatisering, der opfører sig forskelligt afhængigt af tidspunktet — én ting i løbet af dagen, en anden om natten — så spring ikke kørslen over: opdel den med et Betingelse-trin indstillet til Tidspunkt på dagen (se Trin).
Kørsel af en automatisering for kun én agent
De fleste konti kører mere end én AI-agent, og en automatisering, der kun bør gælde for én af dem – f.eks. supportagenten og ikke salgsagenten – har brug for en måde at sige det på. Fire udløsere har et felt til præcis det:
| Udløser | Feltet |
|---|---|
| Indgående besked | Agent (valgfri) |
| Samtale lukket | Agent (valgfri) |
| Besked leveret | Agent (valgfri) |
| Besked fejlede | Agent (valgfri) |
Åbn udløseren, klik på feltet, og du får en grupperet liste: dine AI-agenter efter navn og dine klassiske kampagner nedenunder, hvis din konto stadig har nogen. Vælg én, og automatiseringen kører kun for kontakter, som den agent er ansvarlig for; enhver anden samtale på din konto ignoreres. Lad den stå på Enhver agent, som er hvordan den starter, og automatiseringen kører for hver kontakt på kontoen, inklusive kontakter som ingen agent er blevet tildelt.
Den læser den agent, kontakten er tildelt i det øjeblik, så flytning af en kontakt til en anden agent i dag ændrer, hvilke af disse automatiseringer der kører for dem fra da af.
Feltet er et enkelt valg, ikke et sæt – en automatisering begrænses til en enkelt agent eller en enkelt kampagne, så opret en ekstra automatisering, hvis du vil have de samme trin på en anden.
Hver anden trigger kører for hele kontoen. Der er ikke noget agentfelt på kontakt-, aftale-, møde-, opgave-, konto- eller generelle triggere: de aktiveres for alt på kontoen. For at begrænse en af disse til en enkelt agent, skal du tilføje et Betingelse-trin som det første trin efter triggeren og tjekke kontaktens tildelte agent, og derefter placere resten af trinnene på den sande sti. Se Trin.
Ikke alle agenter kan begrænses endnu. Enhver agent, som feltet ikke kan tilbyde, tælles lige nedenunder, så du med et hurtigt blik kan se, at listen er kort, i stedet for at undre dig over, hvorfor en agent mangler. Disse samtaler fungerer stadig normalt; de kan blot ikke udvælges her i øjeblikket.
En ting mere, der er værd at vide om konti, der bruger AI-agenter: en besked-udløst automatisering, der er indsnævret på denne måde, aktiveres ved en helt ny kontakts allerførste besked såvel som ved hver besked derefter. Tidligere startede den først fra deres anden besked, så åbningsbeskeden i enhver ny samtale gik glip af den. (Dette gælder automatiseringer, hvis udløser er en indgående besked — det er adskilt fra Kontakt tilføjet-udløseren ovenfor, som kører præcis én gang pr. kontakt, du tilføjer.)
Lad din AI-agent kalde en automatisering
Triggeren AI-agent-funktion gør en automatisering til en evne, som din AI-agent kan bruge, mens den taler med en kunde — på samme måde som den allerede bruger brugerdefinerede funktioner. Kunden spørger om noget, agenten beslutter, at din automatisering er det rette værktøj til opgaven, kalder den med de detaljer, den har indsamlet fra samtalen, og (hvis du ønsker det) får et svar tilbage, som den kan bruge i sit næste svar.
Sådan opsætter du en:
- Navngiv funktionen. Et kort navn med bogstaver, tal og understregninger –
check_availability,register_warranty. AI’en ser dette navn, så sørg for, at det beskriver, hvad den gør. - Beskriv hvornår den skal bruges. Beskrivelsen er måden, din agent beslutter at kalde den på – skriv det, som om du briefede et nyt teammedlem: “Brug denne, når en kunde spørger, om vi har en ledig tid på en given dag.”
- Tilføj detaljerne, der skal indsamles. Hver parameter er et stykke information, som AI’en skal indsamle fra samtalen, før den kalder – en by, et ordrenummer, en foretrukken dato. Giv hver enkelt et navn, en type og en kort beskrivelse; marker dem, der er påkrævede. Typen kan være tekst, et tal, et ja/nej eller JSON – vælg JSON, når AI’en skal overlevere en struktureret pakke af felter (f.eks. en fuld leveringsadresse) i stedet for en enkelt værdi.
- Vælg hvilke agenter der kan bruge den. Vælg de AI-agenter, der skal have denne evne – enten her på udløseren eller senere fra enhver agents AI-evner-fane, hvor funktionen vises sammen med agentens andre evner med en normal tænd/sluk-knap. Begge steder redigerer det samme, så brug det sted, du allerede befinder dig.
- Tænd for automatiseringen. Fra det øjeblik har disse agenter funktionen – intet skal kopieres nogen steder, ingen webhook-adresser eller hemmeligheder skal indsættes.
Har du ikke lyst til selv at skrive navn, beskrivelse og detaljer? Byg automatiseringens trin først, og klik derefter på Udfyld med AI øverst i triggerens indstillinger — den læser, hvad din automatisering gør, og skriver dem for dig. Alt, hvad du allerede har skrevet, forbliver, som det er; den udfylder kun det, du har ladet stå tomt. Gennemgå resultatet, juster det, du ønsker, og gem.
Inde i automatiseringen er alt, hvad AI’en har sendt, tilgængeligt via de sædvanlige dataknapper: hver parameter under trigger.args, plus hvilken kontakt og kanal samtalen foregår på.
Besvar agenten. Tilføj et Return response-trin, og alt hvad det sender tilbage, bliver det svar, AI’en læser – så den kan citere rigtige data i samme samtaleforløb: slå lager op i din egen database, tjekke en kalender eller beregne et tilbud. Uden et Return response-trin venter agenten på, at automatiseringen er færdig (op til 25 sekunder), og får at vide, om det lykkedes: fuldført eller fejlet. Det er passende til arbejde i stil med “registrer denne klage i mit system”, hvor der ikke er brug for data retur. Hvis automatiseringen stadig kører efter 25 sekunder, eller venter på et langt Delay-trin, får agenten at vide, at den kører i baggrunden, og fortsætter. En ting man skal huske: agenten venter op til 25 sekunder på et svar, så hold Delay-trin ude af stien mellem triggeren og Return response-trinnet. Hvis kørslen fejler, før den når Return response-trinnet (et trin fejler, eller din saldo kan ikke dække kørslen), får agenten at vide, at kaldet fejlede, alarmerer et menneske og fortæller kunden, at der var et teknisk problem. Den lover aldrig et svar, der ikke kommer. Det samme sker, når selve Return response-trinnet sender en fejlstatus (400 eller højere), så send en 200 med en klar besked i brødteksten, når “ikke fundet” er et svar, du ønsker, at agenten skal videreformidle.
Mens automatiseringen er slået fra, kan agenter ikke kalde den — funktionen forsvinder fra deres evner, indtil du tænder for den igen.
Du vil også bemærke, at funktionen er opført på din side Brugerdefinerede funktioner med et “Administreret af automatisering”-badge. Den post bliver passet for dig — dens navn og felter følger det, du har indstillet i triggeren — så den kan ikke redigeres eller slettes der; åbn i stedet automatiseringen.
Tilføjelse af kontakter til en automatisering
De fleste triggers venter på, at noget sker. Kontakt tilføjet-triggeren er den, du selv styrer: du vælger kontakterne, og automatiseringen kører én gang for hver af dem. Det er sådan, du bygger en opfølgningssekvens, en velkomstserie eller et re-engagement-tiltag — besked, vent, besked igen — og derefter føder folk ind i den, når du har lyst.
Byg den som enhver anden automatisering: giv den Kontakt tilføjet-triggeren, og tilføj derefter dine trin. Alt vedrørende kontakten er tilgængeligt for disse trin via de sædvanlige dataknapper — deres navn, telefonnummer, e-mail og kanal — så et Send besked-trin kan hilse på dem ved navn, og det ved allerede, hvilken kontakt der skal sendes til.
Der er fire steder at tilføje personer, så du kan gøre det, uanset hvor du befinder dig:
Fra Kontakter, i bulk. Gå til Kontakter, markér de kontakter, du ønsker — én, en håndfuld eller alle på en filtreret liste — og klik derefter på Automatisering i bjælken nederst. Vælg automatiseringen og klik på Tilføj kontakter. Kun automatiseringer med Kontakt tilføjet-triggeren vises, og en, der stadig er sat på pause, er nedtonet, indtil du tænder for den.
Fra én kontakt. Åbn en kontakt for at få vist deres detaljepanel og klik på Tilføj til automatisering.
Fra en samtale. I Chats skal du åbne menuen med de tre prikker øverst i samtalen og vælge Tilføj til automatisering — praktisk, når du er midt i et svar og indser, at denne person bør indgå i din opfølgningssekvens.
Fra selve automatiseringen. Denne skal du bruge, når du kigger på en automatisering og tænker “hvem skal ind her?”. På listen Automatiseringer har en aktiveret Kontakt tilføjet-automatisering et ikon til tilføjelse af personer i sin række; klik på det og søg blandt dine kontakter efter navn, telefonnummer eller e-mail, markér dem, du ønsker, og tilføj dem. Den samme knap findes øverst i automatiseringens panel Tilføjede kontakter på dens logside.
Uanset hvilken metode du vælger, starter automatiseringen for disse kontakter, og du kan fortsætte dit arbejde.
Gradvis tilføjelse (dryp). At tilføje et par hundrede personer på én gang betyder, at et par hundrede beskeder sendes ud på kort tid, hvilket sjældent er det, du ønsker — især på WhatsApp. Markér Tilføj gradvist i den samme dialogboks og indstil, hvor mange kontakter der skal tilføjes ad gangen, og hvor mange minutter der skal gå mellem hver batch: 20 kontakter hvert 30. minut spreder en liste på 500 personer ud over cirka en halv dag. Uanset hvad du vælger, tilføres kontakterne altid jævnt frem for alle på én gang, så en stor batch ikke kan overbelaste din konto.
Overvågning af fremdrift. Åbn automatiseringen og klik på Log. Over kørselshistorikken viser panelet Tilføjede kontakter hver batch, du har tilføjet, hvor mange kontakter der er blevet behandlet indtil videre, samt knapper til at Pause, Genoptag eller Annuller den. Pausering stopper tilføjelsen af nye kontakter; kørsler, der allerede er startet, afsluttes normalt. Annullering stopper resten permanent — den kan ikke genoptages.
Tilføjelse af den samme person to gange. Som standard kan hver kontakt kun gennemgå en given automatisering én gang: Tilføjer du dem igen senere, bliver de lydløst sprunget over og talt som “sprunget over” i statuslinjen. Hvis du ønsker, at en kontakt skal kunne gennemgå den igen — f.eks. ved et månedligt tjek — skal du åbne Automationsindstillinger (tandhjulsikonet øverst til højre) og slå Tillad genindtræden til. Se Lad en kontakt gennemgå den mere end én gang.
To ting, der er værd at vide: Kontaktoplysninger hentes i det øjeblik, du tilføjer en person, så redigering af et telefonnummer bagefter ændrer ikke en kørsel, der allerede er i kø; og hvis du slår automatiseringen fra, mens kontakter stadig tilføjes, pauses batchen i stedet for at fejle — slå den til igen og klik på Genoptag.
Trin
Efter udløseren kan du tilføje så mange trin, som du har brug for:
-
Handlinger – gør noget i DM Champ: send en besked til en kontakt, rediger deres detaljer, giv dem et tag, flyt dem mellem lister, giv dem videre til en anden AI-agent, opret og opdater opgaver og handler, book, flyt eller annuller aftaler, slå ting op til senere brug i arbejdsgangen, eller giv besked til et menneske. Den fulde liste findes i Handlinger nedenfor.
-
Integrationer – forbind en ekstern app (Google Sheets, Slack og andre) og brug dens handlinger inde i din automatisering. Forbind den én gang fra editoren, og træk den derefter ind som ethvert andet trin. Hvis et trin bruger en app, du endnu ikke har forbundet, viser trinnet en lille ravgul prik på lærredet, og dens indstillingspanel viser en Forbind-knap lige der, hvor du har brug for den – klik på den, godkend appen i fanen, der åbner, og trinnet låses op af sig selv. Dette dækker også automatiseringer, som AI’en bygger for dig: ethvert trin, der stadig mangler en app-forbindelse, giver dig besked om det, før du tænder for automatiseringen.
Enhver handling, du finder under en apps Populære-overskrift, leveres med en guidet formular i stedet for tekniske felter. Tilføjelse af en række til Google Sheets guider dig f.eks. igennem det: vælg et af dine regneark fra en liste, vælg arkfanen, og derefter vises hver af dine kolonneoverskrifter som sit eget felt, der skal udfyldes — med de sædvanlige dataknapper til indsættelse af værdier fra tidligere trin. Søgning efter en række fungerer på samme måde: vælg regneark og arkfane, skriv hvad der skal søges efter, færdig. Den samme behandling dækker Gmail (send, kladde, svar, find e-mails), Slack (kanaler hentes fra en live-liste), Notion (vælg en database, og hver af dens egenskaber vises som et felt), HubSpot (kontakter, aftaler, virksomheder, billetter), Google Kalender (vælg en kalender fra din egen liste, når du opretter eller finder begivenheder), Google Docs (vælg et dokument fra en liste) og Telegram. Alt usædvanligt ligger bag Vis avancerede indstillinger med fornuftige værdier allerede indstillet. Trin, der er opsat før dette eksisterede, fortsætter med at fungere, som de gør; åbn et og vælg Skift til simpel tilstand, når du ønsker den guidede version.
Alle andre handlinger viser ét felt pr. indstilling, som appen beder om, markeret med almindelige ord, hvor i ved siden af en etiket forklarer den. En indstilling, der indeholder flere værdier, er en lille formular, ikke en boks med kode: en liste (f.eks. de poster, en ny HubSpot-note er knyttet til) er et sæt rækker, du tilføjer med Tilføj og fjerner med x, faste valgmuligheder er rullemenuer, og et sæt navngivne værdier er rækker med navn og værdi. Hver boks henter værdier fra tidligere trin med +-knappen. Hvis du foretrækker at indtaste rå værdier, viser Rediger som JSON ved siden af feltet det samme som tekst, og det, du ændrer der, vises i formularen.
Brug Test step inde i et hvilket som helst integrationstrin for at køre netop det trin for alvor — for Sheets-eksemplet vil rækken faktisk optræde i dit regneark, så du ved, at automatiseringen virker, før du aktiverer den.
For at ændre hvilken konto en app bruger, skal du åbne et hvilket som helst trin for den pågældende app. Når den er forbundet, viser toppen af indstillingspanelet den forbundne konto (ved navn eller e-mail, når appen deler en sådan) med Disconnect og Use another account. Use another account afbryder forbindelsen til den nuværende konto; klik derefter på Connect og log ind med den anden konto. Forbindelsen tilhører hele dit arbejdsområde, så enhver automatisering, der bruger den app, skifter til den nye konto, og trin, der bruger den, stopper med at køre, mens der ikke er forbundet noget.
-
Email (din mailserver) — send en e-mail fra din egen mailserver i stedet for via Gmail. Vælg den som trintype og udfyld din udbyders afsendelsesoplysninger én gang: serveradresse, port, brugernavn, adgangskode og den adresse, du ønsker, at mailen skal komme fra. Du finder disse i din e-mailudbyders indstillinger, normalt under “SMTP” eller “Afsendelse”. Vi tjekker oplysningerne mod din mailserver, før vi gemmer, så hvis noget er forkert, får du besked med det samme i stedet for første gang, automatiseringen kører.
To ting, der er værd at vide. Brug port 587 — den er krypteret, næsten alle udbydere understøtter den, og det er den port, der fungerer fra vores afsendelsesnetværk. Og hvis din e-mailkonto bruger to-trins-verificering, skal du oprette en app-adgangskode i din udbyders kontoindstillinger i stedet for at indtaste din normale adgangskode.
Når forbindelsen er oprettet, består trinnet blot af Til, Emne og Besked med de sædvanlige knapper til indsættelse af data fra tidligere trin. Cc og Bcc er der også, hvis du har brug for dem. Din adgangskode gemmes krypteret og vises aldrig igen — ved gentilslutning skal den indtastes igen.
-
Indbyggede apps — et par værktøjer har deres egne førsteklasses trin, adskilt fra integrationskataloget:
- Mollie — opret et betalingslink eller tjek, om en betaling er gennemført. Forbind den én gang med din Mollie API-nøgle (Mollie Dashboard → Developers → API keys).
- WooCommerce — find en kunde eller ordre i din butik, flyt en ordre til en ny status, eller opret en rabatkode. Forbind den med din butiks adresse plus en REST API-nøgle (WooCommerce → Settings → Advanced → REST API → Add key).
- WordPress: opret, opdater eller hent et indlæg, opret en bruger, eller find en bruger via e-mail. Forbind den med dit websteds adresse, dit WordPress-brugernavn og en applikationsadgangskode (Users → Profile → Application Passwords). Se WordPress.
- FluentCRM: opret eller opdater en kontakt, find en via e-mail, tilføj eller fjern tags, og tilføj en person til lister. Samme forbindelsesoplysninger som WordPress, da FluentCRM kører på dit WordPress-websted. Tags og lister angives som id’er, ikke navne. Se FluentCRM.
- MemberPress: hent et medlem, find et via e-mail, opret et medlem, list deres abonnementer eller transaktioner, og opret en transaktion, hvilket er måden et medlemskab tildeles på. Forbind den med dit websteds adresse plus API-nøglen fra MemberPress → Developer Tools. Se MemberPress.
Forbindelse fungerer på samme måde som e-mail-trinnet: detaljerne tjekkes live mod tjenesten, før noget gemmes, nøgler gemmes krypteret og vises aldrig til dig igen, og hvert trin får almindelige felter med de sædvanlige knapper til indsættelse af data.
-
Databaseforespørgsel — for tekniske brugere: kør en SQL-forespørgsel mod din egen eksterne MySQL- eller Postgres-database (slå f.eks. en kunde op i din butiks database). Tilføj en forbindelse én gang — den testes live, før den gemmes — og skriv derefter forespørgslen. Brug $1, $2 (Postgres) eller ? (MySQL) pladsholdere til værdier, der kommer fra tidligere trin, og placer disse værdier i feltet Værdier, så tekst indtastet som kontakt aldrig ender med at blive indsat direkte i din SQL. Databasen skal være tilgængelig fra internettet.
-
HTTP-anmodning — kald enhver ekstern webadresse direkte, til værktøjer der endnu ikke har en indbygget integration.
-
Betingelse — forgrene automatiseringen ned ad en af to stier afhængigt af en regel, du angiver. Indsæt det, du vil tjekke, med +-knappen i stedet for at skrive det, vælg hvordan det skal sammenlignes (lig med, indeholder, er større end, matcher regex…), og skriv hvad det skal sammenlignes med. Indeholder leder efter den nøjagtige tekst, du har skrevet; når du i stedet har brug for et mønster — flere stavemåder af et søgeord, et ord kun i starten af en besked, et ordrenummerformat — skal du vælge matcher regex og skrive et regulært udtryk såsom
^(ja|yes)\b. Tilføj/i-stil-flag ved at skrive mønsteret som/ja|yes/i. Et mønster, der ikke er gyldigt, får trinnet til at fejle med en fejl i kørselshistorikken i stedet for stille og roligt at tage falsk-stien. Trin på sand-stien kører, når reglen matcher, trin på falsk-stien når den ikke gør; en sti, du lader stå tom, afslutter blot kørslen. At tjekke en persons tags er en af de mest nyttige funktioner — indsæt kontaktens tag_names og brug indeholder med taggets navn, som i Eksempel: ignorer alle, du markerer som spam nedenfor. For at tjekke, at nogen IKKE har et tag, skal du i stedet vælge indeholder ikke (skrevet somnot containsi udtrykket).Tjek af mere end én ting. En betingelse kan indeholde flere regler på én gang. Sæt Match til Alle følgende (hver regel skal være sand) eller Nogen af følgende (én sand regel er nok), og brug Tilføj betingelse for hver ekstra regel — for eksempel land er lig med NL og besked indeholder prissætning. Hvis du har brug for at blande de to eller gruppere regler med parenteser, skal du skrive reglen som et udtryk i stedet:
(${trigger.contact.country} == 'NL' or ${trigger.contact.country} == 'BE') and ${trigger.message.body} contains 'pricing'—andbinder strammere endor, og parenteser tilsidesætter dette. En betingelse skrevet på den måde åbnes som et udtryksfelt i stedet for rækker.
To regler i én Betingelse. Med Match sat til Alle følgende, skal begge være sande for at Ja-stien køres.
Stadier sammenlignes ud fra deres ID, ikke deres navn. Et opgave- eller aftalestadium ankommer som dets interne ID (
todo,in_progress,done…), hvilket kan afvige fra kolonneoverskriften på din tavle. Så når feltet er opgavens eller aftalens stadium, og sammenligningen er lig med eller ikke lig med, bliver værdifeltet til en liste over dine egne stadier: vælg kolonnen ud fra dens navn, og trinnet gemmer dens ID. En betingelse, der er gemt tidligere med et indtastet stadienavn, markeres med en advarsel under listen, og når teksten matcher en af dine kolonner, vil en knap erstatte den med kolonnens ID.Andre værdier, der peger på din konto, er også lister. Med kontaktens tags (indeholder, lig med), det tag som en ‘Tag anvendt’-udløser medfører, en aftales eller opgaves ansvarlige, AI-agenten eller et brugerdefineret felt af typen Rullemenu, er værdiboksen en liste over dine egne tags, teammedlemmer, agenter eller feltets indstillinger. Klik på Brug en værdi fra et tidligere trin i stedet for at sammenligne med en værdi fra udløseren eller et andet trin.
Hvert næste trin har brug for en forgrening. Et trin, der er forbundet til en betingelse, skal hænge på dens Ja- eller Nej-håndtag. Et trin, der er forbundet uden en forgrening, kører uanset hvad betingelsen svarer — editoren markerer det og lader dig ikke tænde for automatiseringen, før det er flyttet til et håndtag.
En betingelse kan også forgrene sig baseret på uret i stedet for en værdi. Indstil dens Betingelsestype til Tidspunkt på dagen og angiv et starttidspunkt, et sluttidspunkt og en tidszone: Den sande sti kører, mens det aktuelle tidspunkt er inden for dette vindue, og den falske sti uden for det. Slut før start skaber et vindue natten over (21:00 til 08:00), og Dage-kontakterne begrænser det til bestemte ugedage — lad dem alle være slået fra for alle dage. Den tjekker uret i det øjeblik, trinnet kører, så en tidsbetingelse placeret efter en forsinkelse ser på det tidspunkt, hvor den faktisk nås, ikke det tidspunkt, hvor kørslen startede. Det er sådan, du bygger “én automatisering, forskellig adfærd alt efter tidspunkt” — gør én ting i løbet af dagen og en anden om natten; når automatiseringen derimod slet ikke bør køre uden for et vindue, skal du bruge Kør kun i disse timer i Automationsindstillinger.
I en normal Sammenlign en værdi-betingelse kan du også sammenligne direkte med uret: Aktuelt tidspunkt-gruppen i datavælgeren tilbyder
now.hour(0–23),now.minute,now.weekday(1 = mandag … 7 = søndag),now.day,now.monthognow.year. De læses i UTC, medmindre du udfylder betingelsens valgfrie tidszonefelt. -
AI-trin — lad den indbyggede AI læse dataene indtil videre og generere et svar eller en beslutning som en del af arbejdsgangen. Skriv en prompt, indsæt værdier fra tidligere trin, og trinnets output er tilgængeligt for hvert trin efter det. Der er intet at konfigurere udover prompten — selve AI’en administreres for dig. Trinnets indstillinger angiver prisen på forhånd: hver gang et AI-trin kører, bruger det 0,25 credits (så et AI-trin inde i en Løkke bruger 0,25 credits pr. gentagelse), og Test trin kører den rigtige AI, så den bruger de samme 0,25 credits.
To grænser, der er værd at kende, begge generøse nok til, at de fleste automatiseringer aldrig rammer dem. Svar har en maksimal længde; hvis AI’en har brug for mere plads end det, bliver svaret afkortet — du vil se en note om dette, når du tester trinnet, så bed om noget kortere eller opdel arbejdet over to AI-trin. Og selve prompten har en maksimal størrelse, når data fra tidligere trin er udfyldt: hvis du indsætter en meget stor mængde data (en lang chathistorik, en hel scraped side), stopper kørslen med en besked, der beder dig om at indsætte mindre. Og mens Sæt alle AI-beskeder på pause er slået til under Indstillinger → Profil, kører et AI-trin slet ikke: kørslen stopper med en note om, at AI er sat på pause for kontoen, og intet bliver faktureret. Slå pausen fra, og nye kørsler går igennem igen.
-
Forsinkelse — pause før fortsættelse. Ventetype tilbyder to måder at gøre det på. I et fast tidsrum er den klassiske: vent 10 minutter, 2 timer, 3 dage, med en valgfri smule tilfældig jitter, så på hinanden følgende kørsler ikke alle starter på samme sekund. Indtil et bestemt tidspunkt venter i stedet på en dato og et klokkeslæt — normalt et, du indsætter fra et tidligere trin med +-knappen, f.eks. aftalens starttidspunkt — og en Forskydning i minutter flytter det:
-180betyder tre timer før det tidspunkt,-1440en dag før,0selve tidspunktet. Hvis tidspunktet allerede er passeret, når kørslen når trinnet, venter den slet ikke og fortsætter blot; ventetider på over 30 dage afvises. Ventetider på mere end et halvt minut sætter kørslen rigtigt på pause i stedet for at holde den åben — kørslen vises som venter, indtil det er tid, så minutter, timer og dage er alle fine. -
Løkke — gentag en gruppe trin én gang for hvert element i en liste (f.eks. én gang pr. kontakt, som Find kontakter returnerede, eller én gang pr. tag på en kontakt). Lad Maks. iterationer stå tom for at gennemgå hvert element, op til 1.000; indstil et tal for at stoppe tidligere. En lang liste behøver ikke at passe ind i én omgang: når en kørsel er tæt på sit tidsbudget, pauser løkken, hvor den er, og fortsætter igen få sekunder senere fra det samme element, så en daglig gennemgang af flere hundrede kontakter bliver færdig af sig selv. En Forsinkelse inde i løkken fungerer på samme måde — løkken venter og fortsætter med det næste trin for det element. Forbind de trin, der skal gentages, til løkkens krop-håndtag og stop der: en gren, der blot slutter, er hvordan løkken ved, at elementet er færdigt, og den går videre til det næste af sig selv. En Betingelse inde i løkken beslutter pr. element: kun det elements sand (eller falsk) gren kører, så Løkke → Betingelse → Send besked sender kun til de elementer, der består. Du behøver ikke en linje tilbage til løkken, og lærredet tillader dig ikke længere at tegne en: træk en forbindelse fra et senere trin tilbage til løkken (eller til et hvilket som helst trin over den), og linjen afvises med en note om hvorfor. Hvis en automatisering, du byggede tidligere, stadig har en, pauser dens første kørsel den: automatiseringen slås fra, listen viser Automatisk sat på pause (hold musen over den for årsagen), og editoren navngiver forbindelsen, der skal fjernes. Fjern den, gem, og slå automatiseringen til igen.
-
Returner svar — til automatiseringer, der starter med en Webhook- eller AI Agent-funktion-udløser: send data tilbage til det, der kaldte automatiseringen — det eksterne værktøj, der ramte din webhook, eller din egen AI-agent midt i en samtale. Som standard får et kald blot en bekræftelse; tilføj dette trin, og den, der kalder, modtager dit eget svar i stedet — vælg en statuskode, skriv indholdet (JSON eller almindelig tekst) og indsæt værdier fra tidligere trin, så værktøjet, der kaldte dig, får f.eks. den række, du slog op, eller den kontakt, du oprettede. Den, der kalder, venter op til 30 sekunder; hvis automatiseringen tager længere tid end det (f.eks. et forsinkelsestrin tidligere i forløbet), falder den tilbage til den normale bekræftelse, og automatiseringen fortsætter uanset hvad. Hvis kørslen fejler, før den når dette trin, får den, der kalder, et svar med det samme i stedet for at vente: status 200 med
"status": "failed"i indholdet (oginsufficient_creditssom fejlkoden, når din saldo ikke kunne dække kørslen). Det er bevidst ikke en fejlstatus: anmodningen blev modtaget, og tidligere trin kan allerede være kørt, og værktøjer som Stripe eller Shopify sender en webhook igen, der får en fejl tilbage, hvilket ville køre disse trin igen. Detaljerne forbliver i kørselshistorikken. Test trin viser en forhåndsvisning af svaret med dine eksempeldata.
Der er også et Transformer-trin til at omforme data med lidt kode — dette er til tekniske brugere, der er trygge ved at skrive et lille script; alle andre kan roligt ignorere det.
Brug af det, som et tidligere trin returnerede
Når et felt beder om én værdi, f.eks. Kontakt-id, skal du indsætte den enkelte værdi med +-knappen, ikke hele trinnet. Efter et Find kontakt-trin kaldet find_contact, er det ${nodes.find_contact.contactId}. Hvis du indsætter ${nodes.find_contact} alene, sendes alt, hvad trinnet returnerede på én gang, og et trin, der har brug for en kontakt, vil derefter fejle med “kontakt ikke fundet”.
Udtryk
Inden i ${ } kan du skrive en lille smule JavaScript for at ændre en værdi, før den bruges. Skriv det i et hvilket som helst felt, der accepterer variabler, med de samme navne, som +-knappen indsætter:
| Du ønsker | Skriv |
|---|---|
| Et navn med store bogstaver | ${ trigger.contact.first_name.toUpperCase() } |
| Et telefonnummer uden + | ${ trigger.contact.phone.replace("+", "") } |
| Et beløb med 21% lagt til | ${ trigger.amount * 1.21 } |
| Det ene ord eller det andet | ${ trigger.amount > 100 ? "priority" : "normal" } |
| Dagens dato (i UTC) | ${ new Date().toISOString().slice(0, 10) } |
Tekst omkring det forbliver, som den er, så Hi ${ trigger.contact.first_name.toUpperCase() }! sender “Hej ADA!”. Resultat-feltet under feltet viser, hvad koden beregner med dine eksempeldata, mens du skriver.
Hvis koden fejler (en slåfejl eller et felt, der er tomt for denne kontakt), bliver den del tom, og resten af trinnet fortsætter. Kørselshistorikken fortæller, hvilken del af koden der fejlede, og hvorfor.
Koden kører øjeblikkeligt og uafhængigt: den har ingen internetadgang og kan ikke vente på noget, og den må højst tage et halvt sekund. En kodestump inde i ${ } kan være op til 16.000 tegn lang; længere kode behandles som kode, der fejler, og kørselshistorikken angiver, at den er for lang. For at hente noget skal du bruge et HTTP-anmodning-trin og indsætte resultatet. Når logikken kræver mere end én linje, eller flere trin deler det samme resultat, er et Transform-trin stadig det bedre værktøj.
Når et trin fejler
Som standard stopper et trin, der fejler, automatiseringen, og kørselshistorikken viser trinnet i rødt med årsagen. To kontakter lader den fortsætte i stedet:
- Hvis dette trin fejler, fortsæt, i ethvert trins indstillinger. Automatiseringen fortsætter med det næste trin, og det fejlede trins resultat har
failedsat til sand ogerrorindeholdende årsagen, så en Betingelse på${nodes.<step>.failed}kan gøre noget, kun når det fejlede: giv dig selv besked, prøv en anden kanal, tag kontakten. Kørslen tæller som færdig, med en Fortsatte efter en fejl-note på den, og det fejlede trin vises stadig i rødt. - Hvis ét element fejler, spring det over og fortsæt med det næste, i en Løkkes indstillinger. Ét element, der fejler, stopper ikke længere hele listen: det element springes over, resten kører stadig, og løkkens resultat viser de oversprungne elementer under
failed_items. Nyttigt til en gennemgang af mange aftaler eller kontakter, hvor én dårlig post ikke bør holde de andre tilbage.
At løbe tør for kreditter stopper altid automatiseringen, uanset hvad disse kontakter siger. Et HTTP-anmodning-trin, der får en fejlstatus tilbage (en 404 eller 500), er ikke fejlet: det blev færdigt og sender status videre, så tjek dens status eller ok med en Betingelse for at handle på den.
Test af trin, der slår en kontakt op
Kør og Test trin bruger triggerens eksempeldata, og det eksempel er en opdigtet kontakt (contact_abc123, [email protected], uden telefonnummer). Den findes ikke på din konto, så et trin, der slår en kontakt op eller sender en besked til en kontakt, vil fejle i en test med “kontakt ikke fundet” eller “intet nummer gemt”. Det er forventet: Når en rigtig trigger aktiveres, får trinnet den rigtige kontakt og virker. For at teste med rigtige data skal du lade automatiseringen køre én gang for alvor og derefter klikke på Afspil igen i værktøjslinjen for at køre den igen med det, som den sidste kørsel rent faktisk modtog.
Handlinger
Handlinger er de ting, en automatisering gør inde i selve DM Champ — ingen app at forbinde, intet at konfigurere først. De er grupperet i vælgeren på samme måde, som de er grupperet her.
Felter, der peger på noget, der allerede findes på din konto, er rullemenuer: en pipeline og dens stadier, en kontaktliste, et tag, et teammedlem, et opgavestadie, en begivenhedstype, en kladde-udsendelse eller en WhatsApp-skabelon. Vælg det fra listen. Når værdien i stedet skal komme fra et tidligere trin (f.eks. et stadienavn sendt via en webhook), skal du klikke på Brug en værdi fra et tidligere trin i stedet under feltet og indsætte det med +-knappen.
Kontakter
| Handling | Hvad den gør |
|---|---|
| Opret kontakt | Tilføjer en ny kontakt. Kanal bestemmer, hvor kontakten nås, og dermed hvor et senere Send besked-trin leverer: lad den stå på kontoens standard for WhatsApp, vælg SMS for at sende dem en sms fra dit forbundne SMS-nummer (f.eks. en kundeemne fra en formular, der bad om sms’er), eller vælg E-mail for at nå dem via e-mail — så er e-mailadressen det, der identificerer kontakten, telefonnummeret er valgfrit, og kontoen skal have E-mail-kanalen forbundet. For de telefonbaserede kanaler er et telefonnummer påkrævet. Hvis en kontakt med det nummer (eller, ved e-mail, den adresse) allerede findes på den kanal, returnerer trinnet den eksisterende kontakt i stedet for at fejle eller oprette en dublet, beholder kontaktens kanal, og kørselsloggen noterer, at den gjorde det. Senere trin får kontakt-ID’et uanset hvad. Brugerdefinerede felter viser én boks pr. brugerdefineret felt på din konto (du opretter dem på siden Kontakter under Administrer felter); udfyld dem fra tidligere trin, f.eks. et ordrenummer fra en webhook. Tomme bokse springes over. Når kontakten allerede findes, gemmes de værdier, du udfyldte, på den kontakt. Dette er hvordan du følger op via e-mail med en, der skrev til dig på en anden kanal — se Eksempel: e-mail-opfølgning for website-chat-kundeemner |
| Opdater kontakt | Ændrer en kontakts navn, e-mail, telefonnummer eller brugerdefinerede felter. Kun de brugerdefinerede felter, du udfylder, ændres; kontaktens andre brugerdefinerede felter forbliver, som de er |
| Find kontakt | Slår en kontakt op via telefonnummer eller e-mail, så senere trin kan bruge deres detaljer. Den samme person kan eksistere én gang pr. kanal (f.eks. en website-chat-kontakt og en e-mail-kontakt, der deler én adresse), så et e-mail-opslag kan begrænses til én kanal. Når ingen matcher, stopper trinnet automatiseringen; slå Fortsæt når ingen kontakt matcher til, og den fortsætter i stedet, med found sat til falsk, så en Betingelse på ${nodes.find_contact.found} kan oprette kontakten eller springe videre |
| Find kontakter | Lister kontakter — alle, en fritekstsøgning, én liste eller filtreret. Den hurtige måde: Med tag returnerer kun kontakter med et tag, Uden tag udelader alle med et (tags matches efter navn; et navn, der ikke findes, får trinnet til at fejle med en klar besked, så en slåfejl ikke stille og roligt kan returnere ingen). Den kraftfulde måde: Avancerede filtre åbner den samme regelbygger, som smarte lister bruger, så du kan filtrere på alt, hvad en smart liste kan — tags, lister, kanal, status, aktivitetsdatoer, AI til/fra, forstyr-ikke, navn/e-mail/telefon, aftalestadie, brugerdefinerede felter — med et live-antal af, hvor mange kontakter der matcher. Når avancerede filtre er indstillet, tager de over, og de simple felter ovenfor ignoreres. Hvor mange indstiller, hvor mange kontakter trinnet returnerer, op til 1.000 pr. kørsel (standard er 50); alt over 100 hentes i batches i baggrunden, så en daglig gennemgang af et par hundrede kontakter passer i én kørsel |
| Slå AI til eller fra for en kontakt | Slår AI-agenten til eller fra for den ene kontakt uden at røre ved andre |
| Sæt forstyr-ikke | Stopper (eller genoptager) alt udgående til den kontakt, med en valgfri note om hvorfor |
| Sæt brugerdefineret felt | Skriver ét brugerdefineret felt på en kontakt og lader de andre være i fred. Vælg feltet fra listen over dine brugerdefinerede felter, eller vælg Indtast en feltnøgle i stedet for et nyt eller en nøgle, der kommer fra et tidligere trin — et felt, der ikke findes endnu, oprettes på kontakten |
| Tilføj kontakt til liste / Fjern kontakt fra liste | Flytter en kontakt ind eller ud af en af dine kontaktlister |
| Tildel AI-agent | Overdrager kontakten til en anden AI-agent, så den agents persona og indstillinger tager over fra næste besked — det samme som Tildel AI-agent i en chats menu, men udført af workflowet. Vælg agenten fra listen; feltet accepterer også en live klassisk kampagne til ældre opsætninger. Lad eventuelt den nye agent svare med det samme. Dette er hvordan du skifter agenter midt i en samtale: nøgleords-indgangspunkter bestemmer kun, hvem der svarer på en helt ny samtale, så en Indgående besked-udløser begrænset til et ord som “support” efterfulgt af denne handling flytter en eksisterende chat til din supportagent. Trin-for-trin: Skift AI-agent midt i en samtale |
| Sæt kontakt-tag / Fjern kontakt-tag | Tilføjer eller fjerner et tag efter navn. Et tag, der ikke findes endnu, oprettes |
| Send konvertering til Meta | Rapporterer én konvertering (en vundet aftale, en booket konsultation) til dit Meta-datasæt, så dine Meta-annoncer optimerer på reelle resultater og ikke kun på beskeder. Kræver Meta forbundet under Indstillinger → Annonceklik-sporing; uden det fejler trinnet med “Meta er ikke forbundet”. Vælg Begivenhedsnavn (Køb, Planlæg, Kundeemne eller dit eget), eventuelt en Værdi og Valuta, og hvem det handler om: en Kontakt, eller blot en E-mail eller Telefon, så en køber fra en anden app også virker. Det sender hver gang det kører, så brug Begivenheds-ID for at stoppe Meta i at tælle den samme konvertering to gange. Se Send konverteringer fra automatiseringer |
| Tildel kontakt til et teammedlem | Overdrager kontakten til et af dine teammedlemmer, så den vises som deres i indbakken. Lad teammedlemmet stå tomt for at fjerne tildelingen igen |
Beskeder
| Handling | Hvad den gør |
|---|---|
| Send besked | Sender en besked på den kanal, som kontakten allerede befinder sig på — WhatsApp, SMS, Instagram eller Messenger, alt efter hvad de kom ind via. For en kontakt, som din automatisering selv har oprettet (f.eks. et kundeemne fra en formular), er dette den Kanal, der blev valgt i Opret kontakt-trinnet, så vælg SMS der, hvis beskeden skal sendes som en sms. Du kan vedhæfte et billede eller en fil via et link, og med et medialink kan selve teksten efterlades tom. For alt, der ikke er et billede, skal du udfylde Medietype med filens MIME-type (application/pdf, audio/ogg, video/mp4), så kanalen vedhæfter den korrekt, og eventuelt Filnavn for det navn, modtageren ser på et dokument. For at levere lyd som en WhatsApp-talebesked (afspilningsboblen, ikke en fil), skal du aktivere Send som talebesked og sørge for, at lyden er i OGG/Opus-format med medietypen audio/ogg. En MP3-fil sendt som talebesked afspilles på nogle telefoner og vises som en fil på andre, så konverter den først. Denne handling erstatter de gamle separate “Send WhatsApp”- og “Send SMS”-trin, som alligevel begge gjorde præcis dette; automatiseringer, der stadig bruger dem, vil fortsat fungere |
| Send WhatsApp-skabelon | Sender en af dine godkendte WhatsApp-skabeloner, hvilket er det, der når ud til nogen uden for WhatsApps 24-timers vindue. Angiv enten en kontakt eller et almindeligt telefonnummer — med et nummer bliver kontakten slået op og oprettet, hvis den ikke findes endnu. Når du har valgt Skabelon, viser Skabelonvariabler én boks pr. variabel i den ({{1}}, {{2}} eller navngivne som {{first_name}}); indsæt en værdi fra et tidligere trin med +-knappen, såsom kundens navn eller ordrenummer fra en webhook. En variabel, du lader stå tom, udfyldes fra kontaktens egne oplysninger. For en skabelon, der ligger i din egen WhatsApp Business-konto (den bærer Meta-mærket på siden Skabeloner), får du også en række til skabelonens tekst-headervariabel (Headervariabel) og én for hver dynamisk websteds-knap (Websteds-knap 1 (URL-suffiks), den del der tilføjes til slutningen af knappens link). Map hver enkelt i trinnet. Hvis skabelonens variabler blev ændret i Meta, skal du åbne trinnet igen efter næste synkronisering og mappe dem på ny. Trinnet venter op til 20 sekunder på svar fra WhatsApp. Hvis WhatsApp afviser skabelonen (f.eks. en variabel der er efterladt tom eller en skabelon, der ikke er godkendt), fejler trinnet, og kørslen viser WhatsApps årsag. Hvis der ikke kommer svar til tiden, gennemføres trinnet med en note om, at levering endnu ikke er bekræftet; den endelige status findes i kontaktens chat. Se Eksempel: WhatsApp-ordrebekræftelse fra Shopify. Kræver at WhatsApp Business API-kanalen er forbundet. Se WhatsApp-skabeloner |
| Start udsendelse | Starter en udsendelse, som du allerede har opbygget og gemt som kladde — det samme som at trykke på Start på den. Udsendelsen kræver et publikum, en åbner og en forbundet afsender; hvis noget mangler, fejler trinnet og angiver hvad |
| Send WhatsApp Web-besked | Sender via en QR-forbundet WhatsApp Web-telefon, adresseret med nummer i fuldt internationalt format (+31612345678). Til konti på WhatsApp Web-kanalen. Nummeret, du adresserer den til, er kun en modtager — det behøver ikke at være forbundet som en kanal i sig selv (en managers telefon, der modtager bookingrapporter, er det typiske tilfælde). Hvis du forbinder modtagerens telefon som en sekundær kanal på samme konto, logges hver besked mellem de to telefoner to gange (én gang pr. kanal), og det nye nummer kan blive valgt til at sende, hvilket på sin første opvarmningsdag har en grænse for nye kontakter på 0 — kørslen fejler derefter med Daily limit of 0 new contacts reached. Behold modtageren som et almindeligt nummer. Forsendelser afvises også, når modtagerkontakten er på Forstyr ikke (kørslen viser Contact is on Do Not Disturb list); slå Forstyr ikke fra i den chat først |
Opgaver
| Handling | Hvad den gør |
|---|---|
| Opret opgave | Opretter en opgave, eventuelt med en beskrivelse, en forfaldsdato, en ansvarlig og en kontakt |
| Opdater opgave | Ændrer en opgaves titel, beskrivelse, stadie, prioritet, forfaldsdato eller kontakt |
| Find opgave / Find opgaver | Indlæser én opgave eller en liste indsnævret efter stadie, prioritet, kontakt, handel, ansvarlig eller forfaldsdato — så automatiseringen kan forgrene sig baseret på, hvad den finder |
Handler
| Handling | Hvad den gør |
|---|---|
| Opret aftale | Opretter en aftale på det board, du vælger. Vælg Pipeline først, og listen Stadie viser derefter kun den pipelines stadier (skift pipeline, og stadiet ryddes, så du skal vælge igen). Stadiet er påkrævet. Med en valgt pipeline kan et stadie, der kommer fra et tidligere trin, være både stadiets navn og dets ID; et stadie, der ikke er i den pipeline, stopper trinnet med en besked i stedet for at placere aftalen på det forkerte board |
| Opdater aftale | Ændrer en aftales titel, værdi, stadie, status eller kontakt |
| Flyt aftalestadie | Flytter en aftale til et andet stadie og placerer kortet øverst i den kolonne |
| Find aftale / Find aftaler | Indlæser én aftale efter id eller en liste over aftaler med de nyeste først — eventuelt kun dem i én pipeline, i ét stadie eller tilhørende én kontakt — så automatiseringen kan forgrene sig baseret på et stadie eller en værdi |
Aftaler
| Handling | Hvad den gør |
|---|---|
| Opret aftale | Booker en aftale for en kontakt på en af dine bookbare eventtyper. Den kan også registrere en booking, der er foretaget et andet sted — dit eget CRM, et holdskema, et andet bookingsystem: lad eventtypen være tom og giv en Titel i stedet, så vises bookingen på Aftaler-siden uden tilgængelighedstjek og uden kalendersynkronisering. Se Bookinger foretaget uden for platformen |
| Annuller aftale | Annullerer en aftale med en valgfri årsag. Den forbliver i arkivet som annulleret i stedet for at forsvinde |
| Ombook aftale | Flytter en aftale til et nyt tidspunkt. Indstil både slut- og starttidspunkt — det beregnes ikke igen ud fra eventtypens varighed |
| Find aftale / Find aftaler | Indlæser én aftale eller en liste for én kontakt, én dag eller én status |
| Find ledige tider | Lister de ledige tider på en af dine eventtyper mellem to tidspunkter, så et senere trin kan tilbyde eller booke en |
Andet
| Handling | Hvad den gør |
|---|---|
| Log event | Registrerer en brugerdefineret hændelse i din kontos automatiserings-hændelseslog — praktisk til at tælle, hvor ofte noget skete |
| Tjek kreditsaldo | Læser kontoens kreditsaldo i det øjeblik, så en Betingelse efter den kan forgrene sig baseret på den — for eksempel ${nodes.<step>.balance} < 100 for at advare dig selv, før kreditterne løber ud. Den læser kun; den bruger eller fylder aldrig op |
| Advar menneske | Sender e-mail og giver dig besked om, at nogen skal gribe ind, med lav, medium eller høj prioritet, og nævner kontakten, hvis du peger på en |
| Send e-mail til mit team | Sender en e-mail til dig eller dit team med en besked, du skriver, for eksempel “Ny deal” med kontaktens navn, telefonnummer og et link. Går kun til dine egne adresser: din login-e-mail, et teammedlems e-mail eller en notifikations-e-mail, du har verificeret under Indstillinger → Notifikationer (lad Til være tom for at bruge din login-e-mail). Alle andre afvises; for at sende e-mail til en kontakt eller et lead, brug E-mail (din mailserver)-trinnet. Skriv Emne og Beskedtekst i almindelig tekst: linjeskift bevares, og links bliver klikbare. Udfyld et Kontakt-id for at tilføje en knap, der åbner den kontakt-chat. Den sender kun e-mailen, uden app- eller telefonnotifikation, og op til 200 af disse e-mails sendes pr. konto pr. 24 timer. Brug Advar menneske i stedet, når nogen skal gribe ind |
Bureau
| Handling | Hvad den gør |
|---|---|
| Opdater underkonto | Ændrer en af dine klientkonti indefra kørslen: dens forbrugsgrænse, dens månedlige kvote, om en ubrugt kvote overføres til næste måned, og dens blokeringsniveau (aktiv, soft-blokeret eller hard-blokeret). Den peger allerede på kontoen fra udløseren, så ved en Underkonto oprettet- eller Underkontoaktivitet-automatisering er der ikke andet at udfylde end de værdier, du ønsker ændret — alt det, du lader stå tomt, forbliver som det er. Se Automatiser hvad der sker med klientkonti |
Konto API-handlinger
Under handlingerne ovenfor har trin-vælgeren en sektion kaldet Konto API, som er skjult, indtil du åbner den. Den indeholder én handling for hvert endpoint i DM Champ API’et, omkring 390 i alt, grupperet efter den del af kontoen, de tilhører: Kontakter, Handler, Pipelines, Tags, Opgaver, Aftaler, Udsendelser, Vidensbase, Ofte stillede spørgsmål, Resuméer, Beskeder, Underkonti og resten. Alt hvad API’et kan gøre, kan en automatisering nu gøre som et normalt trin, uden et HTTP-anmodningstrin, uden API-nøgle og uden kode.

Åbn Account API i paletten, og slutpunkterne sorteres i områder. Hvert kort navngiver handlingen og det bagvedliggende kald, såsom Deals · POST /v1/deals.

Indstillinger for en genereret handling. Hver parameter, som slutpunktet modtager, får sit eget felt, og dem, der forventer en liste eller et objekt, er felter, hvor du indtaster JSON.
Et par ting, du bør vide om dem:
- Hver handlings indstillinger viser ét felt pr. parameter, som slutpunktet modtager. Et felt, der forventer et objekt eller en liste over elementer, er et felt, hvor du indtaster JSON. Hvert felt accepterer værdier fra tidligere trin i den sædvanlige
${…}-form, som indsættes med +-knappen. - Trinnet på lærredet viser den metode og adresse, det kalder, for eksempel
PUT /v1/pipelines/:pipelineId, så du kan slå slutpunktet op i API-referencen, når du ønsker detaljer om, hvad det returnerer. En del af adressen, der starter med et kolon, er en værdi, du udfylder i trinnet, så det reelt kalder/v1/pipelines/default, når Pipeline ID er sat tildefault. - Handlinger, der sletter noget, bærer en rød advarsel i deres indstillinger. De gør præcis, hvad API-kaldet gør, med det samme, og der er intet, der kan fortrydes bagefter.
- Handlingerne øverst i vælgeren, dem der er angivet i tabellerne ovenfor, er uændrede. De forbliver den hurtigste måde at gøre de almindelige ting på, og de fleste automatiseringer behøver slet ikke at åbne denne sektion.
På en bureaukonto har de handlinger, der kan agere på en klientkonto, et Underkonto-felt. Handlinger, der ikke kan, er bevidst efterladt uden et: at udfylde en underkonto på et endpoint, der ignorerer det, ville have kørt trinnet på din egen bureaukonto uden at give dig besked, så feltet vises kun, hvor det rent faktisk virker.
Eksempel: opsætning af en ny klients kontopipeline og tags. Dette er den kodefrie version af det, der før krævede et script.
- Udløser: Underkonto oprettet.
- Konto API → Tags → Opret eller tildel et tag (
POST /v1/tags), med taggets navn og Underkonto sat til${trigger.sub_account.id}. - Konto API → Pipelines → Opdater en pipeline (
PUT /v1/pipelines/default), med dine stadier i JSON-feltet. Et stadietstrigger_tagskrives somusers/<the sub-account id>/tags/<the tag id the previous step returned>, begge indsat med + knappen.
Hver klientkonto, du opretter derefter, får den samme tavle og de samme tag-regler, uden at du behøver at åbne den.
Eksempel: send en e-mail til dig selv med et resumé, når nogen booker.
- Udløser: Aftale booket.
- Konto API → Resuméer → Opsummer en samtale (
POST /v1/summaries), rettet mod kontakten fra udløseren. - E-mail, med resuméet fra trin 2 i brødteksten.
Sådan skrives variabler. Alt, hvad du indsætter med +-knappen, lander som ${…} — for eksempel ${trigger.contact.first_name} eller ${trigger.appointment.start_time} — og det er det eneste format, automatiseringen kan læse. Stilen {{first_name}}, som du måske kender fra udsendelsesskabeloner, forstås ikke her: den sendes præcis som skrevet, så beskeden ankommer med {{first_name}} i stedet for navnet. Hvis en besked kom igennem med pladsholderteksten stadig i sig, er det næsten altid årsagen — slet pladsholderen og indsæt den igen med +-knappen. Brugerdefinerede felter ligger under kontakt ligesom alt andet om personen (${trigger.contact.your_field_key}). Et feltnavn med mellemrum, et spørgsmålstegn eller andre symboler (en Facebook-leadform sender hvert spørgsmål som sit eget felt) placeres i parenteser og anførselstegn, som ${trigger["what_service_are_you_interested_in?"]}; +-knappen indsætter det på den måde for dig. ${…} kan også indeholde en lille smule kode, der ændrer værdien, såsom ${ trigger.contact.phone.replace("+", "") }: se Udtryk. Under hvert felt, der indeholder en variabel, viser en Resultat-boks teksten, som den ville se ud med dine eksempeldata: en grøn variabel er løst (dens værdi vises), en gul kan endnu ikke tjekkes, fordi dens trin ikke er testet, eller triggeren ikke har nogen fanget begivenhed, og en rød peger på et felt, der ikke er i eksemplet, hvilket normalt er en slåfejl eller den forkerte sti. For en smule kode inde i ${ } viser boksen, hvad den resulterer i med eksemplet, eller i rødt hvorfor den fejler. Variabler virker også inde i et felt, der indeholder en liste eller en gruppe af værdier (såsom en liste over poster, der skal linkes, eller et sæt egenskaber): hver ${…} i den udfyldes, og en, der udgør hele værdien, beholder sin type, så et tal forbliver et tal, og en liste forbliver en liste.
Eksempeldata uden en testkørsel. Et trin, som du helst ikke vil køre under opbygning (f.eks. et trin, der opretter en kontakt eller sender en besked), kan få sit eksempel manuelt: åbn trinnet, klik på Fastgør eksempel under Output-eksempel, indsæt eller skriv, hvad trinnet returnerer, og klik på Fastgør eksempel igen. Variabelvælgeren, resultatfeltet og testene af senere trin bruger derefter dette, og det markeres som Fastgjort, indtil en rigtig Testtrin erstatter det. Live-kørsler bruger aldrig et fastgjort eksempel, kun hvad trinnet rent faktisk returnerer. Ved en Webhook-udløser gemmer Gem som eksempel den payload, du har indtastet, som udløserens eksempel uden at køre noget, mens Send testbegivenhed også starter en testkørsel. Feltet Eksempel-payload (til test) skal indeholde gyldig JSON, med samme form som det eksterne værktøj vil sende: nøgler og tekstværdier i lige dobbelte anførselstegn, og et dobbelt anførselstegn inde i en tekstværdi skrevet som \" (for eksempel { "note": "she said \"hi\"" }). Mens teksten ikke er gyldig JSON, viser feltet Ugyldig JSON, og ingen af knapperne gemmer eller sender noget.
En ting, der er værd at vide om udfyldelse af disse: alt, der ender på ID – Kontakt-ID, Opgave-ID, Aftale-ID – er beregnet til at blive indsat fra et tidligere trin med +-knappen i stedet for at blive indtastet manuelt; dette fremgår af tippet under hvert felt.
De fleste handlinger har også et felt til Underkonto-ID nederst i deres indstillinger: lad det stå tomt, så kører trinnet på din egen konto, eller peg det mod en af dine underkonti, så udføres handlingen i stedet inde i den konto.
Eksempel: påmindelser om aftaler 24 timer og 3 timer før
Dette er den automatisering, de fleste bygger først, så her er den fra start til slut.
1. Start automatiseringen. AI Studio → Automatiseringer → Ny automatisering, og klik derefter på triggeren på lærredet.
2. Vælg triggeren. Klik på Skift trigger, åbn Aftaler, og vælg Før en aftale.
3. Vælg dine påmindelsestidspunkter. Under Påmindelser, klik på 24 timer før og 3 timer før knapperne. Har du brug for noget, der ikke tilbydes — f.eks. 45 minutter? Skriv antallet af minutter i Noget andet og klik på Tilføj. Du kan have op til fem påmindelser i én automatisering, og mindst én: uden nogen indstillet kører automatiseringen aldrig.
Hvis nogle af dine aftaler starter så tidligt, at en påmindelse ville lande midt om natten, skal du slå Respekter stille timer til i Automationsindstillinger (tandhjulsikonet øverst til højre) — påmindelsen kører stadig til tiden, beskeden venter blot til kl. 08:00 i kontaktens lokale tid. Se Respekter stille timer.
Hver påmindelse kører én gang pr. aftale, så to påmindelser betyder to kørsler for den samme booking. Det dækker enhver aftale, som DM Champ kender til: bookinger i den indbyggede kalender og de tabeller, din AI booker igennem via Zenchef, Formitable, OpenTable eller Trafft. En reservation foretaget direkte i restaurantens eget system (dens widget, telefonen, walk-in) når aldrig frem til DM Champ, så den får ingen påmindelse. Det gælder for aftaler, der allerede er i din kalender, ikke kun dem, der bookes efter du har slået det til — og det følger med ændringer: flyt en aftale, og dens påmindelser flytter med; annuller den, og de bliver også annulleret. En påmindelse, hvis tidspunkt allerede er passeret, når bookingen foretages (en 24-timers påmindelse på en aftale booket i eftermiddag), bliver blot sprunget over i stedet for at blive sendt for sent.
4. Valgfrit: giv hver påmindelse forskellig ordlyd. Tilføj et Betingelse-trin efter triggeren og vælg Påmindelse: minutter før som feltet, ==, og 1440 som værdien. Den sande sti er beskeden dagen før (“Vi ses i morgen kl…”), den falske sti er den tre timer før (“Vi ses snart kl…”). Spring dette over, hvis den samme ordlyd er fin til begge.
5. Send beskeden. Tilføj en Send besked-handling. For Kontakt-ID, klik på + og indsæt aftalens kontaktperson. Skriv din påmindelse til beskeden, og brug + til at indsætte kontaktpersonens fornavn og aftalens starttidspunkt — for eksempel:
Hi ${trigger.contact.first_name}, a reminder about your appointment on ${trigger.appointment.start_time}. Reply CONFIRM to keep it or CANCEL if you can't make it.
Andre detaljer, som triggeren giver dig: aftalens lokale, dens resumé, kontaktpersonens telefonnummer og e-mail, og hvilken påmindelse denne kørsel er. Starttidspunktet ankommer som en fuld dato og tid (2026-09-01T10:00:00Z), så hvis du hellere vil have, at beskeden siger “i morgen kl. 10:00”, så placer et AI-trin før beskeden og bed den om at formulere tidspunktet med kontaktpersonens egne ord.
6. Test, og tænd derefter. Klik på Kør for at affyre den én gang med eksempeldata, tjek kørslen i Log, og vip derefter Aktiveret-kontakten.
Om WhatsApps 24-timers vindue. Hvis kontakten sidst sendte dig en besked for mere end 24 timer siden, vil WhatsApp ikke lade en normal besked gå igennem — hvilket er præcis den situation, en påmindelse dagen før befinder sig i. Brug handlingen Send WhatsApp-skabelon til den påmindelse i stedet med en godkendt skabelon; en skabelon må åbne samtalen, og den genåbner også 24-timers vinduet, så kontaktens svar kan håndteres normalt. Tre-timers påmindelsen kan ofte bruge en almindelig Send besked, fordi kontakten til den tid muligvis har svaret på den første. Se WhatsApp-skabeloner for at oprette og få en godkendt.
Om knapperne Bekræft / Annuller. Trykbare hurtigsvar-knapper er endnu ikke tilgængelige fra automatiseringer. Måden at gøre det på i dag er at bede om et ord retur — “svar BEKRÆFT for at beholde det eller ANNULLER for at annullere” — og håndtere svaret enten med din AI-agent (den læser svaret som enhver anden besked og kan annullere eller ombooke) eller med en ekstra automatisering på Indgående besked-triggeren, begrænset til beskeder, der indeholder ANNULLER, som finder bookingen med Find aftaler for den pågældende kontakt, kører Annuller aftale og giver dig besked med Advar menneske.
Eksempel: anmod om en anmeldelse 2 timer efter en aftale
Der findes ingen “efter en aftale”-udløser: Før en aftale aktiveres kun før starttidspunktet. For at sende en besked til en kontakt, når aftalen er slut, skal du starte ved bookingen og vente, til den er afsluttet.
- Udløser: Aftale booket.
- Et Forsinkelse-trin med Ventetype indstillet til Indtil et bestemt tidspunkt. Indsæt aftalens sluttidspunkt med +-knappen (
${trigger.appointment.end_time}) og indstil Forskydning til120for to timer efter, at den er slut. - En Send besked (eller Send WhatsApp-skabelon, hvis kontakten muligvis ikke har skrevet til dig inden for de sidste 24 timer, se bemærkningen om 24-timers vinduet ovenfor) med dit link til anmeldelse.
Dette fungerer for enhver aftale, som DM Champ kender til: den indbyggede kalender og de bookinger, din AI foretager via Zenchef, Formitable, OpenTable eller Trafft. En booking foretaget direkte i det andet system (dets egen bookingside, dets administrator, telefonen) når aldrig frem til DM Champ, så den starter intet. Slå automatiseringen til med Aktiveret-kontakten, ellers kører intet.
Eksempel: Gør et ubesvaret WhatsApp-opkald til en chat
En restaurant midt i travlheden, et værksted med nogen under en bil, en klinik mellem patienter: telefonen ringer, ingen kan tage den, og den, der ringer, prøver det næste sted på listen. Denne automatisering sender en besked til alle, der har ringet forgæves, på WhatsApp inden for få sekunder og lader din AI-agent tage over derfra.
Vil du bare have teksten tilbage? Du behøver ikke at bygge dette manuelt: under Indstillinger → Kanaler har hvert WhatsApp Web-nummer en Send besked ved ubesvarede opkald-kontakt, der opretter netop denne automatisering for dig med din besked, og SMS via Twilio-kortet har den samme kontakt for et Twilio-nummer, du selv har tilsluttet. Se WhatsApp Web → Send besked ved ubesvarede opkald og SMS → Send besked ved ubesvarede opkald. Byg det selv, som vist nedenfor, når du ønsker betingelser, en anden agent til dem, der ringer ubesvaret, eller opfølgende trin.
Det fungerer for opkald til et nummer, der er tilsluttet via WhatsApp Web, og for opkald til det Twilio-nummer, du har tilsluttet til SMS. Et ubesvaret opkald er ethvert opkald, du ikke tog: den, der ringede, lagde på efter et par ring, eller det ringede ud. Opkald, du besvarer, og opkald, du afviser, tæller ikke med, og gruppeopkald ignoreres.
1. Opret automatiseringen. AI Studio → Automatiseringer → Ny automatisering, klik på Skift udløser, åbn Beskeder og vælg Ubesvaret opkald. Lad Nummer stå på Ethvert nummer, så aktiveres den for hvert ubesvaret opkald på ethvert nummer i kontoen, både WhatsApp Web og SMS; feltet viser dine WhatsApp Web-numre og dit SMS-nummer, så vælg et der for at køre denne automatisering kun for opkald til det nummer (en anden automatisering kan dække et andet nummer med sin egen tekst).
2. Send beskeden. Tilføj en Send besked-handling. For Kontakt-ID, klik på + og indsæt den, der ringede, fra udløseren. Skriv derefter teksten, for eksempel:
Beklager vi ikke tog dit opkald, vi har travlt lige nu. Ønsker du at booke et bord? Jeg kan hjælpe dig lige her.
Den, der ringer, bliver en kontakt i det øjeblik, opkaldet er ubesvaret (med navnet fra deres WhatsApp-profil, hvis de viser et), så beskeden lander i deres chat som enhver anden, og en person, der allerede har en chat med dig, får den i den chat. Svaret sendes fra det nummer, de ringede til. WhatsApp Web har intet 24-timers vindue, så en almindelig besked er tilladt, selvom de aldrig har skrevet til dig.
Hvis du hellere vil sende fra en bestemt linje, har både Send besked og Send WhatsApp Web-besked et Send fra-felt, der viser dine WhatsApp Web-numre. På Automatisk sendes beskeden fra det nummer, personen sidst talte med, hvilket for et ubesvaret opkald er det nummer, de ringede til.
Hvis den, der ringede, ringede til dit SMS-nummer, svarer det samme Send besked-trin med den, der ringede, sit kontakt-ID – teksten sendes som en SMS fra dit ene tilsluttede SMS-nummer, så der er intet at vælge under Send fra. Den, der ringede, gemmes som en SMS-kontakt, når opkaldet slutter, deres chat viser en Ubesvaret taleopkald-linje, og deres svar håndteres af SMS-nummerets AI-agent. Teksten sendes gennem din egen Twilio-konto, så dine Twilio SMS-takster gælder. Hvis én automatisering dækker begge typer numre, fortæller ${trigger.channel} dig, hvad du har med at gøre – whatsapp_web eller sms – så en Betingelse på den kan give en WhatsApp-opkalder en anden ordlyd end en, der har sendt en SMS.
3. Lad din agent tage over. Når den, der ringer, svarer, håndteres samtalen som enhver ny chat på det nummer: den agent, der er indstillet som nummerets standard under Hvem svarer på nye samtaler, svarer. Kun hvis en anden agent skal håndtere ubesvarede opkald, skal du tilføje en Tildel AI-agent-handling før beskeden.
Nyttige værdier for en Betingelse eller i beskedteksten: ${trigger.contact.first_name}, ${trigger.contact.phone_number}, ${trigger.channel} (whatsapp_web eller sms), ${trigger.call.to_number} (nummeret de ringede til; for én automatisering pr. nummer, brug udløserens Nummer-felt i stedet for en betingelse), ${trigger.call.is_video}, ${trigger.call.missed_at} og ${trigger.is_new_contact}, som er true for en person, der aldrig har chatte med dig før, så du kan hilse på en fremmed anderledes end på en fast kontakt.
Opkald til et WhatsApp Business API-nummer aktiverer ikke denne udløser, og det gør opkald til numre købt gennem platformen eller til en telefon, der bruges som en Android SMS-gateway, heller ikke. Opkaldere gemmes kun som kontakter på konti, der har en automatisering for ubesvarede opkald slået til; uden en sådan efterlader et ubesvaret opkald ingen spor i appen. For SMS-nummeret er der én betingelse mere: kontakten Send besked ved ubesvarede opkald på SMS via Twilio-kortet skal være slået til, fordi det er den kontakt, der peger nummerets opkald mod DM Champ på din Twilio-konto. En automatisering bygget manuelt til SMS-nummeret gør intet, mens den kontakt er slået fra; slå den til først, og tilpas derefter den automatisering, den oprettede.
Eksempel: ignorer alle, du markerer som spam
Marker en tidsrøver én gang og hør aldrig fra dem igen — den samme form fungerer til “svar kun på personer markeret som VIP”, “spring alle markeret som Kunde over” og så videre.
1. Start automatiseringen. AI Studio → Automatiseringer → Ny automatisering, og klik derefter på triggeren på lærredet.
2. Vælg triggeren. Klik på Skift trigger, åbn Beskeder, og vælg Indgående besked. Lad kanalen stå på Enhver kanal, så den dækker alle samtaler.
3. Tilføj kontrollen. Tilføj et Betingelse-trin efter triggeren. I det første felt skal du klikke på +-knappen, skrive tag i søgefeltet og vælge tag_names (den under kontakt, i gruppen trigger for indgående besked) — det er kontaktens tags efter navn. Feltet udfylder sig selv som ${trigger.contact.tag_names}. Indstil sammenligningen til indeholder, og i værdiboksen skal du skrive tagget præcis, som du navngav det, for eksempel spam.
4. Beslut hvad der skal ske. På den sande sti — den der kører, når kontakten har tagget — tilføj en Indstil forstyr ikke-handling, som stopper alt udgående til dem. Udfyld tre ting: Kontakt-ID med +-knappen (indsæt kontakten fra triggeren, skriv den ikke), Forstyr ikke som true, og eventuelt en Årsag til dine egne optegnelser. Foretrækker du at holde samtalen åben, men gøre AI’en tavs? Brug Slå AI til eller fra for en kontakt i stedet, med AI aktiveret sat til false. Lad den falske sti være tom: alle andre fortsætter som normalt.
5. Test, og slå den derefter til. Klik på Kør for at affyre den én gang med eksempeldata, tjek kørslen i Log, og vip derefter Aktiveret-kontakten.
Tre ting der er værd at vide:
- Store bogstaver tæller. Et tag navngivet Spam vil ikke matche
spam. Kopier navnet fra Indstillinger → Tags, hvis du er i tvivl — se Oprettelse af tags. - Vælg tag_names, ikke tags. Lige ved siden af på samme liste er tags, som indeholder interne ID-koder i stedet for navne. En kontrol mod den kan aldrig matche et ord, du skriver, så automatiseringen ville stille og roligt tage den falske sti for evigt. Hvis du hellere vil skrive feltet end at vælge det, er det, du leder efter,
${trigger.contact.tag_names}. - Det gælder fra deres næste besked. Kontrollen læser de tags, kontakten har i det øjeblik, beskeden ankommer, så det at tagge nogen fortryder ikke beskeder, der allerede er sendt. Hvis du vil have selve tagget til at være startpunktet i stedet, skal du bruge Kontakt opdateret-triggeren, som affyres i det øjeblik, et tag tilføjes eller fjernes.
Eksempel: tilmeld en liste med et nøgleord (og afmeld den med et andet)
Lad folk abonnere på en liste ved at sende et ord — JOIN, VIP, OFFERS — og afmelde sig lige så let. To små automatiseringer, én kontaktliste, og dine udsendelser får et selvopbyggende publikum.
1. Start automatiseringen. AI Studio → Automatiseringer → Ny automatisering, og klik derefter på triggeren på lærredet.
2. Vælg udløseren. Klik på Skift udløser, åbn Beskeder, og vælg Indgående besked. Vælg den kanal, som nøgleordet skal fungere på — f.eks. WhatsApp — eller lad den stå på Enhver kanal. I Indeholder tekst, skriv nøgleordet, for eksempel JOIN. Store bogstaver betyder ikke noget her: join, Join og JOIN matcher alle.
3. Tilføj dem til listen. Tilføj en Tilføj kontakt til liste-handling. Indsæt Kontakt-id med +-knappen — kontakten følger med udløseren — og vælg den liste, folk skal lande på. Hvis du ikke har en endnu, skal du oprette den først (se Liste- og kontaktstyring).
4. Valgfrit: bekræft det. Tilføj en Send besked-handling bagefter, med kontakt-id indsat på samme måde, med noget i retning af “Du er nu på listen! Svar STOP når som helst for at afmelde dig.”
5. Test, og slå den derefter til. Klik på Kør for at affyre den én gang med eksempeldata, tjek kørslen i Log, og vip derefter Aktiveret-kontakten.
6. Byg udgangen. Lav en anden automatisering på samme måde: samme udløser med STOP i Indeholder tekst, og en Fjern kontakt fra liste-handling i stedet. Nævn stopordet i det, du sender — folk, der ved, at der findes en høflig udgang, blokerer ikke nummeret for at slippe ud.
Fra da af kan enhver udsendelse bruge den liste som sit publikum — alle, der sendte nøgleordet, minus alle, der senere sendte stopordet. En igangværende udsendelse, der sender beskeder til nye listemedlemmer, opsamler automatisk dem, der tilmelder sig via nøgleordet.
En ting, der er værd at vide: Indeholder tekst matcher overalt i beskeden, så “joining you tomorrow” indeholder join. Vælg et ord, som folk ikke ville bruge midt i en sætning, eller brug udløserens Regex-felt, når du har brug for et præcist match.
Eksempel: flyt et Instagram- eller Facebook-lead til WhatsApp, når vinduet lukker
En almindelig annonce-tragt: folk ser din Instagram- eller Facebook-annonce, sender en direkte besked til din side, og din AI-agent kvalificerer dem og spørger efter deres telefonnummer. Når et lead skriver sit nummer eller sin e-mail i chatten, gemmer AI’en det automatisk i kontaktens telefon- og e-mailfelter i realtid — der er intet, der skal mappes eller konfigureres for den del.
Det, der ikke sker automatisk, er springet til WhatsApp. Instagram og Messenger tillader kun beskeder inden for 24 timer efter kontaktens sidste besked, understøtter ikke skabeloner til at genåbne samtalen, og DM Champ's indbyggede opfølgninger bliver altid på den kanal, samtalen foregår på — så når vinduet lukker, springes opfølgninger på disse kanaler blot over (se Opfølgningssystem). Denne automatisering foretager springet for dig ved hjælp af det nummer, AI’en har indfanget:
1. Start automatiseringen. AI Studio → Automatiseringer → Ny automatisering, og klik derefter på triggeren på lærredet.
2. Vælg triggeren. Klik på Skift trigger, åbn Kontakter, og vælg Kontakt opdateret, begrænset til feltet telefonnummer. Den aktiveres i det øjeblik, AI’en gemmer et indfanget nummer — uanset hvilken kanal samtalen foregår på.
3. Tilføj en forsinkelse. En fast ventetid på f.eks. 24 timer giver samtalen — og eventuelle hurtige opfølgninger inde i vinduet — tid til at gøre deres arbejde først. Hvis leadet konverterer i mellemtiden, kan du stoppe kørslen med en Betingelse før næste trin (hvor du tjekker kontaktens tag_names for noget i stil med Customer, det samme mønster som i Eksempel: ignorer alle, du markerer som spam).
4. Send skabelonen. Tilføj en Send WhatsApp-skabelon-handling, indsæt Kontakt-id med +-knappen, og vælg en af dine godkendte skabeloner. Skabeloner må gerne starte en samtale, så dette virker uanset hvor længe leadet har været stille — det er hele pointen med trinnet. Variabler, du lader stå tomme i Skabelonvariabler, udfyldes fra kontaktens egne felter, og det kræver, at din WhatsApp Business API-kanal er forbundet. Se WhatsApp-skabeloner for at oprette og godkende en.
5. Test, og slå den derefter til. Klik på Kør for at affyre den én gang med eksempeldata, tjek kørslen i Log, og vip derefter Aktiveret-kontakten.
Når leadet svarer, foregår samtalen på WhatsApp — inden for dets 24-timers vindue — og din agent fortsætter derfra.
Eksempel: WhatsApp-ordrebekræftelse fra Shopify
Send en WhatsApp-skabelon i det øjeblik, nogen bestiller i din Shopify-butik, med deres navn og ordrenummer udfyldt. Det kræver en godkendt skabelon (f.eks. “Hej {{1}}, tak for din ordre {{2}}!”) og din WhatsApp Business API-kanal forbundet.
1. Start med en Webhook-trigger. Opret en ny automatisering, vælg Webhook-triggeren og kopier dens webadresse. Tilføj ?secret= og hemmeligheden fra triggertrinnet til slutningen af adressen, fordi Shopify ikke kan sende et brugerdefineret header.
2. Peg Shopify mod den. I Shopify skal du gå til Indstillinger > Notifikationer > Webhooks, oprette en webhook for Ordreoprettelse i JSON-format og indsætte adressen. På triggertrinnet skal du klikke på Start lytning under Lyt efter indgående webhooks, placere en testordre (eller sende en testnotifikation fra Shopify) og vælge den indfangede ordre som eksempel, så dens felter vises i +-vælgeren.
3. Valgfrit: gem ordrenummeret på kontakten. Tilføj et Opret kontakt-trin. Indstil Telefonnummer til ${trigger.phone}, Fornavn til ${trigger.customer.first_name}, og under Brugerdefinerede felter skal du udfylde dit ordrenummerfelt (f.eks. order_id) med ${trigger.name}. Hvis kunden allerede er en kontakt, gemmes ordrenummeret på den eksisterende kontakt.
4. Send skabelonen. Tilføj et Send WhatsApp-skabelon-trin. Skriv skabelonens navn præcis som det vises under WhatsApp-skabeloner, og udfyld derefter hvem den går til: indsæt Kontakt-id fra Opret kontakt-trinnet, eller sæt ${trigger.phone} i Telefonnummer. Under Skabelonvariabler skal du udfylde boksene:
{{1}}(kundens navn):${trigger.customer.first_name}{{2}}(ordrenummeret):${trigger.name}, som er Shopifys ordrenavn, f.eks.#1001
Brug ordrens eget telefonnummer, ${trigger.phone}, i internationalt format. Kundens telefonfelt, ${trigger.customer.phone}, er ofte tomt på Shopify-ordrer, og en afsendelse uden nummer fejler.
5. Test den. Klik på Kør med det indfangede eksempel, åbn kørslen i Log, og tjek at beskeden blev sendt med navn og ordrenummer i den.
Slå derefter automatiseringen til. Mens den er slået fra, modtages Shopifys webhooks stadig og vises under Lyt efter indgående webhooks, men der sendes ingen beskeder.
Påmindelser om forladt indkøbskurv: Shopify har ingen webhook til forladt indkøbskurv. Brug samme opsætning med Shopifys Checkout update-webhook, tilføj en Forsinkelse, derefter en Betingelse på et tag, som en anden automatisering (ved Ordreoprettelse) giver til købere, så påmindelsen kun sendes til folk, der ikke har bestilt.
Eksempel: e-mail-opfølgning på leads fra website-chat
Nogen chatter med din agent på websitet, efterlader navn og e-mail og forsvinder, før de booker. Du vil gerne følge op via e-mail over de næste par dage — og stoppe i det øjeblik, de siger, de har booket. To automatiseringer gør det; begge bruger din tilknyttede E-mail-kanal, så svarene lander i Chats, og din e-mail-agent håndterer dem.
Før du starter. Slå Indsaml besøgsinfo til på chat-widgetten, så alle besøgende efterlader navn og e-mail. Tilslut e-mail-kanalen og giv dens agent en tag-regel under fanen Tags, såsom Booket — anvend når personen siger, de har booket eller planlagt deres session (AI-agenter → Tags). Det tag er afbryderen.
Automatisering 1 — flyt leadet over på e-mail.
- Trigger Indgående besked, begrænset til Website-chat-kanalen, og i Automatiseringsindstillinger slå Tillad genindtræden fra, så hver besøgende kun gennemgår den én gang, ved deres første besked. (Ikke Ny kontakt: en “kontakt oprettet”-trigger efterfulgt af et Opret kontakt-trin er den selv-triggende form, editoren afviser — se Automatiseringer, der trigger sig selv.)
- En Betingelse på kontaktens e-mail — indeholder ikke
unknown@— så besøgende, der ikke efterlod en adresse, ender her i stedet for at fejle i næste trin. - En Forsinkelse på f.eks. en time, så website-samtalen afsluttes først.
- Opret kontakt med Kanal sat til E-mail. Indsæt den besøgendes e-mail med +-knappen (
${trigger.contact.email}), og deres for- og efternavn på samme måde. Lad telefonnummeret være tomt. Hvis den adresse allerede er en e-mail-kontakt, returnerer trinnet blot den. - Send besked med Kontakt-id indsat fra Opret kontakt-trinnet. Dette sendes som en e-mail fra din tilknyttede indbakke — den første opfølgning, f.eks. “Fik du booket din session?”. En proaktiv e-mail har ingen tidligere besked at svare på, så emnet er Besked fra efterfulgt af din indbaks afsendernavn; svar beholder det emne.
Automatisering 2 — opfølgningssekvensen på e-mail-kontakten.
- Trigger Ny kontakt, begrænset til E-mail-kanalen. Den aktiveres i det øjeblik, Automatisering 1 opretter e-mail-kontakten (og for alle, der sender dig en e-mail først — tilføj en Betingelse på et tag eller kontaktens detaljer, hvis du kun vil have website-leads i den).
- Forsinkelse to dage.
- Find kontakt via kontaktens e-mail (indsæt den fra triggeren), begrænset til E-mail-kanalen, så tjekket læser kontaktens tags, som de er nu, frem for som de var, da kørslen startede.
- Betingelse: den fundne kontakts tag_names indeholder
Booked. Lad sand-stien være tom — det afslutter kørslen for alle, der har booket. - På falsk-stien, Send besked til kontakten med din anden opfølgning, derefter Forsinkelse, Find kontakt, Betingelse og Send besked igen for så mange runder, du ønsker. Afslut med et Indstil kontakt-tag såsom
Sequence complete, så du kan se, hvem der gennemførte hele forløbet.
Når leadet svarer på en af e-mailene, er samtalen allerede i Chats på e-mail-kontakten, e-mail-agenten svarer, og hvis svaret siger, de har booket, tilføjer agentens tag-regel Booket, og næste rundes Betingelse afslutter sekvensen. Lad Stop ved svar være slået fra i Automatisering 2: den ville afslutte sekvensen ved ethvert svar, inklusive “ikke endnu”.
To ting, der er værd at vide. Website-chatten og e-mail-samtalen er to kontakter, der deler en adresse, ikke én samlet tråd — widget-chatten bliver på website-kontakten, og e-mailene lever på e-mail-kontakten. Og en kontakt er én pr. kanal, så hvis den samme person sender dig en e-mail først, returnerer Automatisering 1’s Opret kontakt-trin den eksisterende e-mail-kontakt i stedet for at oprette en ekstra.
Eksempel: AI om natten, dit team om dagen
Nogle teams kører med forskudte vagter: AI-agenten dækker aftenen og natten, og rigtige mennesker tager over om morgenen. Indstil agentens aktive timer til nattevagten, og så er halvdelen af arbejdet gjort — en besked, der ankommer i løbet af dagen, besvares af AI’en, når dens timer åbner igen, og den vises i mellemtiden under filteret Uden for åbningstid i Chats.
Den anden halvdel er at gøre morgenoverdragelsen automatisk, så en chat, som AI’en åbnede kl. 21:00, ikke bare venter til kl. 21:00 næste dag, når kunden skriver tilbage kl. 10:00. To små automatiseringer klarer det — den første sætter AI’en på pause for enhver chat, der modtager en besked i dagtimerne, den anden giver alt tilbage til AI’en om aftenen:
Automatisering 1 — overdrag chats i dagtimerne til dit team.
- AI Studio → Automatiseringer → Ny automatisering. Triggeren er allerede Indgående besked; lad den være konto-dækkende eller begræns den til én agent.
- I Automationsindstillinger (tandhjulsikonet øverst til højre) skal du slå Kør kun i disse timer til og indstille dit teams dag — f.eks. 08:00 til 20:45 — med din tidszone (se Kør kun i bestemte timer).
- Tilføj en Slå AI til eller fra for en kontakt-handling: indsæt Kontakt-ID med +-knappen, indstil AI aktiveret til
false. - Tilføj en Sæt kontakt-tag-handling med et tag som
day-shift, så aftenautomatiseringen kan finde disse chats igen.
Nu vil enhver besked, der lander i løbet af dagen, øjeblikkeligt sætte AI’en på pause i den samtale: chatten vises under dit AI sat på pause-filter, og dit team svarer derfra. At svare manuelt annullerer også AI’ens kø-lagte svar for den chat, så AI’en ikke hopper ind igen, når dens timer åbner.
Automatisering 2 — giv chats tilbage til AI’en om aftenen.
- Ny automatisering med Efter tidsplan-udløseren, indstillet til et par minutter før AI’ens timer starter — for en start kl. 21:00, cron
50 20 * * *med samme tidszone. - Tilføj en Find kontakter-handling filtreret til Med tag
day-shift. - Tilføj et Loop over resultatet med to trin indeni: Slå AI til eller fra for en kontakt med AI aktiveret
true, derefter Fjern kontakt-tagday-shift.
Chats, som dit team afsluttede i løbet af dagen, går tilbage til AI’en til natten, og en chat fra dagtimerne, som ingen nåede at tage sig af, får stadig sit kø-lagte AI-svar i det øjeblik, agentens timer åbner — intet går tabt.
Fra værktøjslinjen på lærredet kører Kør automatiseringen én gang ved hjælp af eksempeldata uden at aktivere den for rigtige kontakter — en sikker måde at tjekke, at den virker. Genkør kører den igen med de rigtige data fra din sidste kørsel. Log åbner kørselshistorikken, så du kan se alle tidligere kørsler og om de lykkedes, fejlede eller stadig er i gang.
Annullering af en kørsel. En kørsel, der stadig er i gang, herunder en der venter på en Forsinkelse eller holdes tilbage pga. stille timer, kan stoppes manuelt: klik på Annuller på dens række i kørselshistorikken, eller åbn kørslen og klik på Annuller kørsel, og bekræft derefter. Kørslen stopper, hvor den er, og vises som Annulleret. Trin, den endnu ikke var nået til, køres aldrig, så der sendes ikke mere fra den; trin, der allerede er kørt, fortrydes ikke. Kun den pågældende kørsel påvirkes: automatiseringen forbliver tændt for alle andre.
Tre ting hjælper dig med at fange en fejl, før dine kontakter gør det:
- Et trin, der mangler noget påkrævet, starter ikke. Felter, der er markeret som påkrævede, kontrolleres før en kørsel, og før Aktiveret-kontakten kan slås til: hvis et Send besked-trin ikke har et kontakt-ID, får du en besked, der navngiver trinnet og feltet i stedet for en kørsel, der fejler uden varsel. Udfyld det, så fungerer kontakten normalt. Pausering blokeres aldrig.
- Variabler, der ikke kan løses, rapporteres. Hvis en
${…}-værdi i et af dine trin ikke fandt noget — et forkert stavet feltnavn eller data, som triggeren faktisk ikke indeholder — kører trinnet stadig med den del tom, og kørselsdetaljerne viser en Advarsler-linje, der præcist navngiver, hvilke der kom igennem som tomme. Det er normalt svaret på “hvorfor kom min besked frem med et hul i sig”. - En kørsel, der tog den anden gren, angiver dette. Efter en kørsel viser kørselspanelet på lærredet hver betingelse, den passerede, med den gren, den tog (Ja eller Nej), og tæller de trin, der ikke blev kørt. En kørsel, hvis betingelse svarede Nej, afsluttes stadig som gennemført, så det er her, du kan se, at trinnene på Ja-stien blev sprunget over.
- Et afvist trin vises som fejlet, med årsagen. Et trin, som appen afviste (en duplikeret kontakt, et stadium der ikke eksisterer, en skabelon der ikke er godkendt), markeres som fejlet og viser, hvad den sagde, i stedet for et grønt flueben uden noget bagved.
For automatiseringer, der starter med en Webhook-trigger, advarer kørselshistorikken dig også om kald, der aldrig blev til kørsler: Hvis noget har kaldt din webhook med en manglende eller forkert hemmelig nøgle, tæller et banner øverst de afviste anmodninger og minder dig om, hvad der skal rettes — den kaldende part skal sende den hemmelige nøgle fra triggertrinnet, enten som en X-Webhook-Secret header eller som ?secret= i slutningen af URL’en. Tidligere blev disse kald blot afvist uden videre, hvilket fik en forkert konfigureret kaldende part til at se ud som om, automatiseringen aldrig blev udløst.
Eksempel: en fødselsdagshilsen hver morgen
Send hver kontakt en besked på deres fødselsdag. Du skal bruge et brugerdefineret Dato-felt, der indeholder fødselsdagen (året kan være hvad som helst, kun måned og dag bruges).
- AI Studio → Automatiseringer → Ny automatisering med På tidsplan-udløseren, indstillet til
0 9 * * *(hver dag kl. 9) med din tidszone. - Tilføj en Find kontakter-handling. Under Avancerede filtre, tilføj reglen Fødselsdag, jubilæum er inden for de næste N dage,
0(kun i dag). Sæt Hvor mange til1000: den er som standard 50, og kun de kontakter, den kigger på, kan matche. - Tilføj et Loop og vælg med +-knappen kontaktlisten fra Find kontakter-trinnet som listen, der skal gennemgås.
- På loopets body-håndtag skal du tilføje et Send besked-trin. For Kontakt-ID, indsæt loop-elementets ID med +-knappen (det læses som
${nodes.loop_1.item.id}, når loopet kaldesloop_1). Beskeden kan hilse dem ved navn på samme måde med elementetsfirst_name.
Det er hele automatiseringen: intet Betingelse- eller Transformer-trin er nødvendigt, fordi Find kontakter allerede kun returnerer dagens fødselsdage. På en dag uden nogen kører loopet nul gange, og kørslen vises stadig som fuldført.
Fødselsdagsreglen tæller dage i UTC. Til en morgenkørsel er det fint næsten overalt; hvis du er mere end 9 timer foran UTC, så kør den senere på dagen (efter kl. 11 i Sydney, efter kl. 13 i New Zealand), så din dato og UTC-datoen er den samme.
Aktivering af en automatisering
Brug Aktiveret-kontakten til at gøre den live (den gemmer først dit udkast) — fra det tidspunkt kører den for alvor, hver gang dens udløser aktiveres. Skift den tilbage til Sat på pause når som helst for at stoppe den uden at miste dit arbejde. Pausering forhindrer nye kørsler i at starte; kørsler, der allerede venter på en Forsinkelse eller på stille timer, færdiggøres stadig. For at stoppe en af dem skal du klikke på Log og bruge Annuller på dens række i kørselshistorikken. En automatisering skal være sat på pause, før du kan slette den.
Automatiseringer, der udløser sig selv
Visse flows kan udløse deres egen trigger. Det klassiske eksempel: en automatisering, der starter ved Opgave oprettet og har et Opret opgave-trin. Den nye opgave aktiverer triggeren igen, hvilket opretter endnu en opgave, og så videre – én kørsel hvert sekund eller deromkring, hvor hver kørsel koster kreditter. Det samme kan ske med Kontakt oprettet plus Opret kontakt, Aftale booket plus Opret aftale eller Handel oprettet plus Opret handel.
Tre sikkerhedsforanstaltninger fanger dette:
- Editoren fortæller dig det med det samme. Så snart et flow har den form, vises et rødt banner over lærredet, der navngiver trinnet og løsningen, trinnet får en rød markør, og kontakten Aktiveret, Kør og Afspil igen forbliver deaktiveret, indtil det er rettet. Du kan fortsætte med at redigere og gemme en pauset automatisering; hvis automatiseringen allerede er tændt, gemmes ændringen ikke, før du pauser den eller retter trinnet. Flows, der muligvis kan genudløse sig selv (en Kontakt opdateret-trigger med et trin, der ændrer kontakten – f.eks. redigering af detaljer, tags, lister eller brugerdefinerede felter, tildeling til et teammedlem, tænd/sluk for AI, aktivering af forstyr-ikke eller overdragelse til en anden AI-agent), får en gul advarsel i stedet, som ikke blokerer noget: vælg et felt, som triggeren skal overvåge, så den kun starter ved de ændringer, du er interesseret i. En Handelsfase ændret-trigger med et Flyt handelsfase-trin, og en Tag tilføjet eller Tag fjernet-trigger med et Angiv kontakttag eller Fjern kontakttag-trin, får den samme gule advarsel: det er almindelige flows (“når den når Vundet, giv dem et tag”), lige indtil trinnet skriver tilbage til præcis det, triggeren overvåger, så vi gør opmærksom på det og lader valget være op til dig.
- AI-byggeren afviser den åbenlyse form. Hvis du beskriver et flow, hvor en “noget blev oprettet”-trigger efterfølges af et trin, der opretter den samme type ting, vil byggeren ikke producere det og fortæller dig, hvilket trin du skal ændre. Når du vil ændre præcis den ting, der startede kørslen (angive en forfaldsdato på opgaven, der lige er oprettet, give et tag til kontakten, der lige er kommet ind), skal du bruge det matchende Opdater-trin på triggerens ID i stedet: Opdater opgave med
${trigger.task.id}, Opdater kontakt med${trigger.contact.id}. Opdatering genudløser ikke en “oprettet”-trigger. - En løbsk automatisering slukker for sig selv. En automatisering, der bliver ved med at køre med mere end 30 kørsler i minuttet i flere minutter i træk, pauses automatisk, og en mislykket kørsel vises i dens historik med en forklaring på hvorfor. En med den selvfødende form ovenfor stoppes meget hurtigere, efter 10 kørsler på et minut. Normale spidsbelastninger er fine: import af 300 kontakter til en Kontakt oprettet-automatisering udløser 300 kørsler på ét minut og bliver derefter stille, hvilket ikke er et loop. Testkørsler, som du selv starter fra værktøjslinjen, tælles aldrig med. Ret flowet, og tænd derefter for det igen.
Hvad automatiseringer koster
Hver kørsel af en automatisering bruger 0,25 credits, uanset hvad der startede den — en trigger der aktiveres i virkeligheden, eller at du selv trykker på Kør eller Afspil igen. De 0,25 trækkes én gang, når kørslen starter, så en kørsel, som et Betingelse-trin stopper ved den første gren, tæller stadig som en kørsel og koster stadig de samme 0,25. Du kan bygge automatiseringer med så mange trin, du vil, uden ekstra omkostninger; det eneste trin, der øger prisen, er AI-trinnet, som bruger yderligere 0,25 credits hver gang det kører. AI-trinnet kører altid på Max-modellen, uanset hvilken model dine agenter bruger, så at skifte en agent til Mini ændrer ikke på, hvad en automatisering koster. Hvis din saldo løber tør, fejler en kørsel med en klar “ikke nok credits”-besked i kørselshistorikken, og nye kørsler går igennem igen, så snart du fylder op.
Med Champions Circle Insider-taksten er begge gebyrer 20 % lavere: 0,20 credits, når en kørsel starter, og 0,20 for hvert AI-trin.
Et trin fra Konto-API-sektionen faktureres nøjagtigt som det samme kald til API’et ville blive. De fleste endpoints koster slet ingenting, og dem, der kører AI for dig, f.eks. samtaleopsummeringer, koster det, som API’et opkræver for dem. Der er ikke noget ekstra gebyr pr. trin oveni det.
Kørselsgebyret trækkes altid fra den konto, som automatiseringen er gemt i. At pege et trin mod en af dine underkonti via feltet Sub-account ID flytter ikke regningen — selve kørslen debiteres stadig dit arbejdsområde, mens alt det, som trinnet sætter i gang inde i underkontoen (f.eks. et AI-svar på en ikke-pauset chat), faktureres til den pågældende underkonto som normalt. Hvis du ønsker, at en klients egen saldo skal betale for selve kørslerne, skal du i stedet oprette automatiseringen inde på deres konto.
Bruger du din egen Anthropic-nøgle (BYOK)? Automatiseringer faktureres uanset hvad i kreditter. AI-trinnet kører på vores indbyggede automatiserings-AI, ikke på din nøgle, så det bruger altid 0,25 kreditter pr. kørsel, ligesom den faste sats på 0,25 kreditter pr. automatiseringskørsel. Din nøgle dækker fortsat dine agenters svar som før; de to interagerer ikke.
Automatiseringer vs. indgangspunkter
Disse lyder ens, men løser forskellige problemer:
- Et indgangspunkt gør kun én ting — matcher en hændelse og overdrager samtalen til en agent. Ingen forsinkelser, ingen betingelser, ingen forgreninger.
- En automatisering er det fulde workflow-værktøj — flere trin, betingelser, forsinkelser og handlinger på tværs af kontakter, handler, opgaver og eksterne integrationer, ikke kun samtaleoverdragelse.
Hvis alt du har brug for er “diriger denne samtale til den Agent”, så brug et Indgangspunkt. Hvis du har brug for en sekvens af trin eller logik ud over det, så byg en Automatisering.
Kopier en automatisering til en klientkonto
Hvis du administrerer klientkonti, kan en automatisering, som du har perfektioneret på din egen konto, kopieres til enhver af dem. På listen over automatiseringer skal du klikke på knappen Kopiér til klientkonto (de to pile) på automatiseringens række, markere de klientkonti, den skal kopieres til, og klikke på Kopiér til. Knappen er placeret ved siden af Duplikér og vises kun på en bureaukonto.

Markér klientkontiene og klik på Kopiér til. Vinduet minder dig om, at kopien ankommer sat på pause, hvor lister, kalendere, forbundne apps og gemte nøgler skal udfyldes af klienten.
Kopien beholder automatiseringens navn, dens trigger og hvert trin. To ting er bevidst anderledes på klientens konto:
- Den ankommer sat på pause. Intet kører, før nogen åbner den på klientens konto, gennemgår den og slår Aktiveret til.
- Alt, der pegede på din konto, er ryddet, fordi disse ID’er ikke betyder noget på en andens konto: den klientkonto, et trin var rettet mod, en valgt smart liste, en valgt kalenderbegivenhed og en valgt databaseforbindelse. Udfyld dem med klientens egne, når kopien er der — selve trinnene er uberørte.
Hvis et trin eller triggeren pegede på en af dine AI-agenter, forsøger kopien automatisk at pege på klientens matchende agent. Det virker, når klientens agent stammer fra det samme snapshot eller blev kopieret fra den samme agent af din — vi ved, at de to er det samme setup, så forbindelsen genskabes automatisk. Når der ikke er noget match, fortæller kopien dig, hvilken agent den ikke kunne placere; åbn automatiseringen på klientens konto, vælg agenten der, og slå den til.
Arbejde med flere automatiseringer på én gang
Hver række på listen over automatiseringer har et afkrydsningsfelt, og overskriftens afkrydsningsfelt vælger alt, hvad der aktuelt vises. Med valgte automatiseringer tilbyder en bjælke nederst på skærmen Aktiver, Sæt på pause og Slet — hver beder dig bekræfte først, og sletning fjerner også automatiseringernes kørselshistorik. Tryk på Escape for at fjerne et valg.
Næste skridt
- Indgangspunkter — det enklere routing-værktøj til at overdrage samtaler til en agent.
- AI-agenter — den persona, som en automatisering eller et indgangspunkt kan route til.
- Udsendelser — send en engangsbesked eller løbende besked til en liste af kontakter.
- Bookingsystem — opsæt de aftaler, som en automatisering kan minde folk om, booke, flytte eller annullere.
- WhatsApp-skabeloner — nødvendige for at sende beskeder til nogen uden for WhatsApps 24-timers vindue.