FixControl ondersteunt naast Gmail vier chat-/messaging-kanalen. Vanuit het oogpunt van je team gedragen ze zich allemaal hetzelfde — berichten landen in de Inbox, worden geclassificeerd, en worden issues zodra je ze converteert — maar de OAuth-setup verschilt per provider.
Deze pagina behandelt de vier niet-Gmail-kanalen. Gmail heeft zijn eigen aparte gids.
Slack
Wat je krijgt
- Inkomende berichten uit gekoppelde channels en DM's landen in de Inbox.
- Mentions van de FixControl-bot triggeren triage direct.
- Approve/reject-acties voor issues en patches komen binnen als Slack-berichten met buttons.
- Uitgaande replies posten terug in dezelfde thread.
Setup
- Maak een Slack-app op
api.slack.com/apps. Kies From scratch. - OAuth & Permissions — voeg bot-scopes toe:
app_mentions:read, channels:history, chat:write, commands, groups:history, im:history, im:read, im:write, mpim:history, users:read, users:read.email.
- Event Subscriptions — enable, zet de request URL op
https://<jouw-host>/api/webhooks/slack/events. Subscribe opapp_mention,message.channels,message.groups,message.im,message.mpim. (message.groupsenmessage.mpimzijn nodig om antwoorden in privékanalen en groeps-DM's te ontvangen — zonder die blijft de bot daar stil.) - App Home — zet onder Show Tabs de Messages Tab aan en vink "Allow users to send Slash commands and messages from the messages tab" aan. Zonder deze instelling toont Slack "Sending messages to this app has been turned off" en kunnen gebruikers de bot geen DM sturen.
- Interactivity & Shortcuts — enable, zet de request URL op
https://<jouw-host>/api/webhooks/slack/interactivity. - Install to Workspace en kopieer het bot-token + signing secret.
- In FixControl: Settings → Integrations → Slack → Connect, plak de credentials, klaar.

Meerdere workspaces
Voeg er zoveel toe als je nodig hebt. Elke workspace wordt een eigen koppeling onder de Slack-integratie. Per-workspace channel-filtering bepaalt welke channels de Inbox voeden.
Tickets en klant-replies vanuit chat
Naast intake en goedkeuringen begrijpt de bot een paar vervolgcommando's in natuurlijke taal. Dit werkt in Slack én Microsoft Teams:
- "Kun je hier een ticket voor aanmaken?" — nadat de bot een supportvraag heeft beantwoord, wordt dit begrepen als commando. De bot post een ticket-preview in de thread; het issue wordt pas aangemaakt als iemand op Issue aanmaken klikt. De bevestigingsklik blijft de menselijke poort — een vrije formulering maakt nooit uit zichzelf iets aan.
- Meerdere dingen in één zin. Vraagt een bericht om meer dan één ding ("maak een klant aan Acme B.V. en info@acme.nl en stuur het antwoord"), dan wordt dat als één plan begrepen: de bot post één bevestigingskaart met genummerde stappen. Eén klik voert precies die stappen uit, in volgorde, via dezelfde gecontroleerde paden als de losse kaarten. Wat de bot niet kan uitvoeren, laat hij eerlijk uit het plan weg vóórdat de kaart verschijnt. Er gebeurt nooit iets op basis van de getypte tekst zelf.
- "…en stuur het naar de klant" — hetzelfde verzoek kan vragen om het antwoord door te sturen. Het antwoord wordt dan altijd klaargezet als gecontroleerde klant-reply — nooit direct verstuurd. Op Slack verschijnt daarvoor een communicatie-goedkeuringskaart in het kanaal; in Teams verwijst de bot naar Approvals in FixControl. Beide beslissen op hetzelfde punt. Alleen een goedkeuring post hem op het gekoppelde supportticket (Freshdesk, Jira Service Management, Odoo of TOPdesk).
- Geen tracker gekoppeld? Heeft het issue geen klantticket, dan zet chat het antwoord klaar als directe klant-e-mail via dezelfde goedkeuringsflow. Het ontvangeradres komt uit het verzoek zelf of uit de thread, en anders van de klant die aan het issue gekoppeld is — maar alleen als die klant precies één contactadres heeft. Zijn er meerdere kandidaten, dan raadt de bot niet: hij vraagt naar welk adres het antwoord moet. Verzenden van een goedgekeurd bericht vereist een geconfigureerde mailprovider.
- "Koppel klant … aan dit ticket." — dit werkt ook op een FixControl-issue zonder trackerkoppeling: klant en contactpersoon worden in het klantenbeheer aangemaakt (bestaat de klant al, dan komt het contact daaronder te hangen) en aan het issue gekoppeld. Bij een gekoppeld Freshdesk-ticket wordt de requester op het ticket bijgewerkt. Bij Jira Service Management kan dit niet — JSM biedt geen manier om de requester van een bestaand request te wijzigen, en de bot zegt dat eerlijk.
- Ontbreekt er iets? Dan stelt de bot één gerichte vervolgvraag ("naar welk e-mailadres moet het antwoord?") in plaats van te vragen of je het anders wilt formuleren.
Microsoft Teams

Wat je krijgt
- Inkomende 1:1-berichten en channel-mentions worden Inbox-items.
- Adaptive cards voor issue-acties renderen inline in Teams.
- Dezelfde vervolgcommando's als in Slack — ticketupdates, meerstaps-bevestigingskaarten en klantverzendingen die ter goedkeuring worden klaargezet. Zie Tickets en klant-replies vanuit chat onder Slack hierboven; het enige verschil is dat de communicatie-goedkeuringskaart in Teams niet in het gesprek verschijnt maar in Approvals in FixControl.
Setup
- Registreer een bot in Azure Bot Service (of via de Bot Framework-portal).
- Maak een Azure AD app-registratie met permissions:
Bot.ReadWrite,User.Read.All(delegated),Chat.Read(delegated). - Zet het messaging endpoint op
https://<jouw-host>/api/webhooks/teams/messages. - Genereer een client secret. Noteer de App ID en Tenant ID (je Microsoft-tenant, niet je FixControl-tenant).
- In het Teams Admin Center: upload het bot-manifest of sideload het voor testen.
- In FixControl: Settings → Integrations → Microsoft Teams → Connect en plak App ID, App secret en Microsoft tenant ID.
Cards & actions
Approve/reject patch-cards bevatten het patch-ID en het action-werkwoord. Action-submissions van de card lopen via dezelfde approval-flow als de web-UI gebruikt.
Office 365 / Exchange
Office 365 is een production-ready inbound-kanaal. Elk inkomend bericht landt als thread in de Inbox, met attachments, AI-classificatie, interne notities en reply-send via Microsoft Graph.
Wat je krijgt
- Mail uit een gekoppelde Office 365-mailbox landt vrijwel realtime in de Inbox.
- Attachments worden gecatalogiseerd; bytes worden on-demand opgehaald vanuit de operator-UI.
- Outbound replies gaan terug onder de identiteit van de mailbox.
- Per-recipient routing is mogelijk. Mail naar een onbekende ontvanger landt op de per-tenant system mailbox en komt onder Settings → Inbox mailboxes naar boven om te adopteren.

Setup
- Registreer een Azure AD-app met delegated permissions:
Mail.ReadWrite,Mail.Send,User.Read,offline_access. - Voeg een redirect URI toe:
https://<jouw-host>/api/auth/office365/callback. - In FixControl: Settings → Integrations → Office 365 → Connect, log in als mailbox-eigenaar, keur de scopes goed.
Reconnect
Microsoft Graph-subscriptions worden automatisch hernieuwd. Geeft Microsoft door dat re-consent nodig is (consent ingetrokken, scopes weggehaald), dan gaat de integratie naar reconnect_required en toont de Settings-tile een Reconnect-knop. Queued events gaan niet verloren — ze worden afgespeeld zodra de verbinding hersteld is.
WhatsApp (op de roadmap)
WhatsApp-intake staat op de roadmap en is nog niet beschikbaar. Er is vandaag geen WhatsApp-connector in Settings; deze pagina beschreef eerder een geplande setup-flow. Is WhatsApp-intake belangrijk voor je evaluatie, laat het weten via /contact zodat we het kunnen prioriteren.
Health & troubleshooting
- Health-dot op de tile — groen = laatste 24u verkeer ontvangen, geel = stale, rood = error.
- Recent deliveries — klik op een tile voor de laatste 50 inkomende events met status en latency.
- Reconnect — elke tile heeft een Reconnect-knop; voor OAuth-providers triggert dat re-consent. De integratie gaat automatisch naar
reconnect_requiredwanneer refresh tokens worden ingetrokken of buiten grace expireren.
Stoppen signatures met valideren na een setup die eerst werkte, dan zijn dit de meest voorkomende oorzaken:
- Een reverse proxy heeft de request body gestript of herschreven.
- Het signing secret is bij de provider geroteerd maar niet in FixControl.
- Clock-drift laat de timestamp-check falen.
FAQ
Kan één team Slack en Teams tegelijk gebruiken? Ja. Ze zijn onafhankelijk. Hetzelfde geldt voor Slack combineren met Gmail, etc.
Kan FixControl auto-antwoorden op een Slack-DM? Nee — drafts blijven drafts totdat een mens ze stuurt. Uitgaande berichten op chatkanalen volgen dezelfde human-in-the-loop-regel als e-mail-replies.
Wat met Discord? Niet ondersteund. We focussen op de chatplatforms waar onze klanten daadwerkelijk op draaien (Slack, Teams).