Standard- & Pro-abonnemang
Översikt
Anpassade verktyg låter din AI-agent anropa dina egna API-slutpunkter under ett samtal för att hämta aktuella, förfråganspecifika data — orderstatus, leveransspårning, lagersaldo för en specifik SKU, kontouppgifter med mera.
Asyntai ger dig tre sätt att förse AI:n med aktuella eller kundspecifika data. Anpassade verktyg är rätt val när värdet som AI:n behöver först dyker upp under samtalet:
- Dataflöde i realtid — laddar in en fast datamängd (t.ex. hela din produktkatalog) i varje samtal. Bäst för delade data som är desamma för alla besökare.
- Användarkontext — din webbplats skickar data som den redan känner till om den aktuella besökaren (t.ex. en inloggad kunds namn, abonnemang eller senaste beställningar) i början av chatten. Bäst när besökaren är identifierad från start.
- Anpassade verktyg — AI:n anropar din slutpunkt vid behov, med värden som den extraherar från chatten. Bäst när värdet inte är känt förrän kunden skriver in det — som ett ordernummer från en anonym besökare.
När en kund till exempel frågar ”Var är min beställning #10294?” extraherar AI:n ordernumret, anropar din slutpunkt med det och svarar utifrån det verifierade svaret. Användarkontext kan inte täcka detta fall på egen hand, eftersom ordernumret inte är känt förrän mitt i samtalet — det är precis där anpassade verktyg passar in. (Många butiker använder Användarkontext för inloggade besökare och ett anpassat verktyg för tillfälliga uppslagningar.)
AI:n avgör när ett verktyg ska anropas utifrån beskrivningen du skriver. Du avgör vad verktyget gör genom att peka det mot din slutpunkt. Asyntai gör anropet på serversidan — du skriver ingen kod och driftar ingen mellanprogramvara.
Hur det fungerar
- Du definierar ett verktyg — ett namn, en beskrivning, din slutpunkts-URL och de parametrar som AI:n ska skicka.
- AI:n anropar det när det är relevant — när samtalet matchar din beskrivning anropar AI:n verktyget med värden som den extraherar från kundens meddelande.
- Asyntai anropar din slutpunkt — vår server gör HTTP-begäran till din URL och matar tillbaka svaret till AI:n.
- AI:n svarar — med hjälp av de verifierade data som din slutpunkt returnerade.
Ingen kod krävs: Du behöver bara en slutpunkt som redan returnerar dina data. Allt annat konfigurerar du i ett formulär i instrumentpanelen — det finns ingen återanropsfunktion, webhook eller webbläsarskript att bygga.
Användningsfall
Orderstatus
Slå upp en beställning via nummer och returnera dess aktuella status
Leveransspårning
Returnera den senaste spårningsstatusen för ett spårningsnummer
Lagerkontroll
Returnera aktuell tillgänglighet för en specifik produkt eller SKU
Kontouppslagning
Returnera konto- eller prenumerationsuppgifter för en identifierare
Konfiguration
1
Öppna Anpassade verktyg
Gå till /custom-tools/ och klicka på Lägg till verktyg
2
Beskriv verktyget
Ge det ett namn, en tydlig beskrivning och din slutpunkts-URL
3
Definiera parametrar
Lägg till de indata som AI:n ska extrahera och skicka (t.ex. order_number)
4
Spara & testa
Spara och ställ sedan en matchande fråga till din bot för att se det i praktiken
Fält
- Namn — en identifierare för funktionen (bokstäver, siffror, understreck), t.ex.
get_order_status. AI:n ser detta namn.
- Beskrivning — det viktigaste fältet. Det talar om för AI:n när verktyget ska anropas. Var tydlig: ”Anropa detta närhelst kunden nämner ett ordernummer. Be inte om verifiering.”
- Slutpunkts-URL — den publika HTTPS-URL som Asyntai kommer att anropa.
- HTTP-metod —
GET (skrivskyddad, rekommenderas) eller POST (kan ändra data — se Säkerhet nedan).
- Parametrar — de indata som AI:n extraherar från samtalet och skickar. Var och en har ett namn, en typ, en beskrivning och en obligatorisk-flagga. För
GET skickas de som parametrar i frågesträngen; för POST som en JSON-kropp.
- Autentiseringsrubrik (valfritt) — ett rubriknamn + värde som skickas vid varje anrop, t.ex.
X-API-Key. Använd detta om din slutpunkt kräver en nyckel.
Parametrar krävs för att AI:n ska kunna skicka något värde. Om din slutpunkt behöver ett indata (som ett ordernummer) måste du lägga till en parameter för det — utan en sådan har AI:n ingen plats att lägga värdet i och anropar slutpunkten tom. Två saker är viktiga:
- Parameterns namn måste exakt matcha det som din slutpunkt förväntar sig. En parameter med namnet
order_number skickas som ?order_number=... (GET) eller {"order_number": "..."} (POST). Om din slutpunkt läser id ska du döpa parametern till id.
- Du skriver aldrig in värdet själv — du deklarerar bara parametern. AI:n fyller i det vid anropstillfället utifrån vad kunden skrev.
Genomgånget exempel: uppslagning av orderstatus
Anta att din butik exponerar denna slutpunkt:
GET https://yourstore.com/api/order-status?order_number=10294
…som returnerar JSON i stil med:
{
"found": true,
"status": "Accepted, preparing for shipment",
"carrier": "DHL",
"customer_message": "Your order has been accepted and is being prepared for shipment."
}
Du skulle konfigurera ett verktyg så här:
- Namn:
get_order_status
- Beskrivning: ”Slå upp statusen för en kundbeställning. Anropa detta omedelbart närhelst kunden anger ett ordernummer — be inte om ytterligare verifiering. Använd det returnerade customer_message i ditt svar.”
- Slutpunkts-URL:
https://yourstore.com/api/order-status
- Metod:
GET
- Parameter:
order_number (sträng, obligatorisk) — ”Kundens ordernummer, vanligtvis 8+ siffror.”
När en kund skriver ”Hur är det med min beställning #10294?” anropar AI:n get_order_status(order_number=10294), Asyntai begär din URL med ?order_number=10294, och AI:n svarar utifrån svaret.
Tips: AI:n skickar de värden som den bestämmer sig för — du förifyller dem aldrig. Håll parameternamn och beskrivningar tydliga så att modellen vet exakt vad som ska extraheras.
Vad din slutpunkt tar emot och bör returnera
- Begäran: en
GET med dina parametrar i frågesträngen, eller en POST med en JSON-kropp. Eventuell autentiseringsrubrik du konfigurerat inkluderas.
- Svar: returnera JSON (föredraget) eller vanlig text. Asyntai skickar tillbaka kroppen till AI:n. Ett fält som AI:n kan citera direkt — som
customer_message — fungerar bra.
- Hittades inte / fel: returnera en tydlig nyttolast (till exempel ett JSON-objekt med
found: false och ett customer_message) så att AI:n kan svara sanningsenligt istället för att gissa.
Testa ditt verktyg
Varje verktyg har en inbyggd panel Testa det här verktyget på konfigurationssidan, så att du kan verifiera att det fungerar innan någon kund använder det — och utan att skicka ett meddelande via boten.
- Ange exempelvärden för verktygets parametrar (t.ex. ett riktigt ordernummer).
- Klicka på Kör test. Asyntai anropar din slutpunkt precis som AI:n skulle göra — samma frågesträng eller JSON-kropp, samma autentiseringsrubrik, samma 5-sekunders timeout och säkerhetskontroller.
- Du ser resultatet direkt: en markering för lyckat/misslyckat, HTTP-statusen, svarstiden, den exakta URL vi anropade och din slutpunkts råa svar (snyggt formaterat om det är JSON).
Detta fungerar även för osparade ändringar, så du kan justera URL:en, parametrarna eller autentiseringsrubriken och testa om tills det returnerar det du förväntar dig.
Obs! Att testa ett POST-verktyg anropar verkligen din slutpunkt och kan ändra data — testpanelen varnar dig innan du kör det. För skrivskyddade GET-verktyg finns det inget att oroa sig för.
Säkerhet — läs detta
Din slutpunkt är säkerhetsgränsen, inte AI:n. Chattwidgeten är offentlig, och en besökare kan manipulera AI:n till att anropa ett verktyg med vilka värden som helst. Detta gäller alla system för AI-verktygsanrop. Utforma din slutpunkt därefter:
- Föredra GET / skrivskyddat. Uppslagningar (orderstatus, lager, spårning) är säkra att exponera. GET är standard av just den anledningen.
- POST kräver bekräftelse. Eftersom POST kan ändra data kan ett POST-verktyg endast sparas efter att du kryssat i en ruta som bekräftar att du ensam ansvarar för att säkra och auktorisera begäranden på din egen slutpunkt. Koppla aldrig återbetalningar, avbokningar, lösenordsändringar eller pengaöverföringar om inte din slutpunkt självständigt verifierar begäran.
- Skydda mot uppräkning. Om en uppslagningsnyckel är gissningsbar (som sekventiella ordernummer) bör du kräva en andra faktor — t.ex. ordernummer och e-postadressen på beställningen, och verifiera att de stämmer överens — så att en besökare inte kan läsa andra kunders data genom att prova nummer.
- Lita aldrig på AI:ns argument. Validera och auktorisera varje begäran på serversidan som om den kom från en anonym angripare — eftersom den i praktiken kan göra det.
Verifiera liveanrop
När ditt verktyg är aktivt loggas varje verkligt anrop från ett samtal. För varje anrop registrerar vi verktygets namn, argumenten som AI:n skickade, den exakta URL vi begärde, HTTP-statusen, svaret och varaktigheten. Detta låter dig bekräfta att ett verktyg utlöstes i en riktig chatt och se vad din slutpunkt returnerade, utan att gräva i dina egna serverloggar. (Panelen Testa det här verktyget ovan är till för att du själv ska kunna kontrollera konfigurationen; denna logg fångar vad som händer under faktiska kundsamtal.)
Gränser & skyddsåtgärder
- Upp till 10 verktyg per webbplats.
- 5 sekunders timeout per anrop; svar begränsas till 10 KB.
- Slutpunkter måste vara publika
http(s)-URL:er. Privata, loopback- och interna nätverksadresser blockeras.
- Tillgängligt på Standard- och Pro-abonnemang.
- Fakturering: varje verktygsanrop räknas som ett extra meddelande i din plan. Ett vanligt svar använder 1 meddelande; ett svar där AI:n anropar ett verktyg använder 2 (svaret plus verktygsanropet), eftersom ett verktygsanrop kräver en extra AI-förfrågan.
- Om ett verktygsanrop misslyckas (timeout, fel, blockerat) informeras AI:n och svarar smidigt — det kraschar inte samtalet.