Guider
Fakturor
Agenten kan läsa en utfärdad faktura från en ansluten Fakturoid eller ABRA Flexi och använda den som underlag för ett påminnelsesamtal - den utfärdar aldrig en faktura och markerar ingen som betald.
Vad den kan och inte kan
- Söker utfärdade fakturor på nummer eller företagsnamn (
list_invoices). - Hämtar aktuell status för en enskild faktura direkt från leverantören (
get_invoice). - Skapar en påminnelseuppgift (
taskType: "invoice") som hänvisar till fakturan.
Kan inte
- Utfärdar, redigerar eller raderar inga fakturor.
- Markerar inte en faktura som betald - det kan bara Fakturoid eller ABRA själva göra.
- Ansluter inte Fakturoid med inloggningsuppgifter - det går bara via OAuth i webbläsaren.
Ansluta kontot
Båda faktureringstjänsterna hanteras på samma ställe som kalendrarna, i portalen under Data och integrationer (/propojeni). list_integrations och GET /v1/integrations är skrivskyddade: de returnerar anslutningsstatus och eventuell connectUrl, men ansluter inget själva. Den detaljerade proceduren för agenten (list_integrations -> connectUrl -> ett steg i webbläsaren) finns på sidan Anslutningar.
Fakturoid
Ansluts uteslutande med OAuth-inloggning i webbläsaren - POST /v1/integrations med provider: "fakturoid" avvisas av REST med felet integration_unsupported, inloggningsuppgifter kan inte skickas hit. Om kontot har flera företag med fakturering återvänder webbläsaren efter inloggningen till sidan Data och integrationer i volai (/propojeni, eventuellt /en/connections) och först där visas valet av företag - posten i integrations skapas först efter det valet. ready för fakturoid i GET /v1/integrations anger bara att volai har OAuth-uppgifterna till Fakturoid inställda (FAKTUROID_CLIENT_ID med flera) - INTE att ett visst konto redan är anslutet. Om anslutningen är klar ser agenten på att den dyker upp i fältet integrations.
ABRA Flexi
Ansluts med inloggningsuppgifter, precis som Apple Calendar: POST /v1/integrations med {provider: "abra-flexi", baseUrl, company, username, password}. Serveradressen (baseUrl) måste överensstämma med exakt den adress som operatören i förväg har tillåtit (ABRA_FLEXI_ALLOWED_HOSTS) - en annan adress ger ett fel.
Lämna bara över lösenordet när användaren redan har det säkert lagrat (miljövariabel, en fil som användaren själv har namngett) - be aldrig om det i konversationen och upprepa det aldrig tillbaka.
Läsa fakturor
Ett förfarande i två steg: först en sökning, sedan en aktuell detaljvy av den enda faktura som är av intresse.
list_invoices({integrationId, search?})-search(upp till 100 tecken) söker hos leverantören på dokumentnummer eller företagsnamn; returnerar de första 40 raderna hos Fakturoid eller 50 hos ABRA, utan sidindelning. Om träffarna är för många, preciserasearch.get_invoice({integrationId, invoiceId})-invoiceIdär det upprepadeexternalIdfrånlist_invoices. Returnerar den allra färskaste statusen direkt från leverantören, inte det som volai minns.
REST-motsvarigheter: GET /v1/integrations/{id}/invoices?search=... och GET /v1/integrations/{id}/invoices/{invoiceId}.
status är paid, unpaid, overdue eller unknown; amountDueMinor är ett heltal i den minsta enheten för FAKTURANS VALUTA (inte nödvändigtvis CZK) och null betyder ett okänt återstående belopp. Detaljvyn har dessutom provider, fetchedAt och evidence: "provider_response".
status: "unknown" eller ett saknat belopp betyder ALDRIG betald - och uppringarens påstående är i sig inget betalningsbevis. Som bevis godtar agenten endast ett färskt svar från get_invoice.
Påminnelse via Uppgifter
Massutskick av påminnelsesamtal om obetalda fakturor går via Uppgifter.
En uppgift av typen taskType: "invoice" skapas med source: "integration" och varje mottagare (eller hela uppgiften, när fakturan är densamma för alla) har externalRefs.invoice = {connectionId, externalId, provider?} - connectionId är anslutningens id från list_integrations, externalId är fakturans id från list_invoices. Utan den här referensen misslyckas create_task/POST /v1/tasks med felet validation och meddelandet recipients.externalRefs, och ingen uppgift sparas. Om den obligatoriska referensen skulle saknas i en redan befintlig post redovisar get_task/GET /v1/tasks/{id} den i issues, och start_task vägrar starta uppgiften med samma valideringsfel.
Varje mottagare har dessutom fältet paymentStatus (not_applicable, unknown, unpaid, paid, disputed) - endast läsbart, systemet härleder det från den senaste läsningen av fakturan hos leverantören strax före uppringningen. Utan fakturareferens är det not_applicable, efter skapandet eller när status eller belopp inte går att verifiera är det unknown, annars enligt svaret från Fakturoid/ABRA - en betald faktura gör att uppgiften hoppar över posten (skipped) och sätter paid. Värdet disputed sätts i dag inte av systemet självt, portalen kan bara visa det - det ingår i den publika uppsättningen (TaskItem i /openapi.json) för en framtida manuell markering av en omtvistad faktura.
Fel
integration_not_found- Anslutningen med dettaintegrationIdfinns inte eller tillhör inte det här kontot.integration_unsupported- Anslutningen är inte en faktureringsanslutning (till exempel en kalender), eller så görs ett försök att ansluta Fakturoid med inloggningsuppgifter i stället för OAuth.integration_unauthorized- Fakturoid eller ABRA har återkallat åtkomsten - anslutningen måste göras om i portalen.integration_provider_error- Leverantören svarar för tillfället inte eller returnerade ett fel - försök senare och behandla fakturans status som okänd under tiden.integration_invalid_query- ABRA avvisadesearchmed omvända snedstreck eller blandade citattecken - förenkla frågan.
Den fullständiga tabellen med alla koder finns i avsnittet fakturor i REST API-referensen och i MCP-fel.
Säkerhet
Åtkomsttoken och lösenord till Fakturoid eller ABRA Flexi returneras aldrig av REST API eller MCP, och vi lagrar dem krypterade. En integration kan bara kopplas bort i portalen eller via REST (DELETE /v1/integrations/{id}) - MCP har medvetet inget verktyg för det, eftersom det är oåterkalleligt.
Relaterat
MCP server
Connect Claude Code, Codex CLI, Codex desktop, Cursor and other AI editors.
REST API
Complete reference for every endpoint: numbers, calls, SMS, mobile numbers for SMS, agents and their drafts, tools, recordings, webhooks, do-not-call list, relay, account, tasks, credit, documents, calendars and integrations.
Connections
Google and Apple Calendar: connect an account, read and confirm event updates.
Tasks
Outbound campaigns: creation, CSV recipient import, start/pause/reconcile, budget and calling window.