FixControl/Documentation

User Guide

Integrations overview

Which channels, code hosts, and trackers FixControl talks to — and what each one is good for.

FixControl sits between the place where customer issues land (your inbox or chat) and the place where code actually ships (your repository), with optional mirroring to the tracker your engineers already use. This page is a one-screen overview of what's connected and what each integration does for you. Setup steps live in the Admin Guide.

Settings → Integrations catalog with Communication, Email, Code, Trackers, and Webhooks tile groups
Settings → Integrations catalog with Communication, Email, Code, Trackers, and Webhooks tile groups

Communication

ProviderWhat it does
SlackReceives messages from connected channels and DMs. Posts patch and issue updates back. Verified with signed payloads — every event is checked.
Microsoft TeamsSame role as Slack. Sends adaptive cards for approve/reject actions inline in Teams.
WhatsAppOn the roadmap — not available yet.

Email

ProviderWhat it does
GmailPolls or receives Pub/Sub push for incoming mail. Per-tenant routing via plus-addressing.
Office 365 / ExchangeMicrosoft Graph subscriptions push new mail in near-realtime. Subscriptions are renewed automatically before they expire.

Both providers carry the same intake flow — sender, subject, body, and attachments are normalized to a single shape before triage runs.

Code (Git providers)

FixControl never modifies your repo without an explicit Approve. When you click Run fix, the patch is opened as a pull request (GitHub, Bitbucket) or merge request (GitLab) on the branch your project specifies.

ProviderAuth options
GitHubGitHub App (recommended), OAuth, or Personal Access Token.
GitLabOAuth or PAT. Self-hosted instances supported.
Bitbucket CloudOAuth consumer or app password.
Bitbucket ServerPersonal access token, on-premise URL.

You can attach more than one provider per tenant — for example a GitHub App for production repos and a GitLab OAuth for an internal monorepo. Each codebase points at exactly one provider.

Issue trackers & support

When an issue is approved, FixControl can mirror it to your tracker so engineers and PMs see it in their normal workflow. The link is bidirectional — comments and status changes stay in sync.

TrackerAuth options
JiraOAuth or email + API token.
LinearOAuth or API key.
FreshdeskAPI key + your Freshdesk domain.
Odoo HelpdeskInstance URL + database + user login + API key (JSON-RPC).
TOPdeskInstance URL + operator login name + application password.

Freshdesk is both an issue tracker and a support system of record, so it does a little more than Jira/Linear:

  • Tickets stay in Freshdesk. FixControl creates and links tickets and reads their status back — it never owns the customer conversation or replaces Freshdesk.
  • Related support history as evidence. When a new issue comes in, FixControl surfaces a few past Freshdesk tickets that look related — with why each matched and how much to trust it — so triage starts with "we've seen this before, here's how it went". It's evidence to weigh, never an automatic answer.
  • Resolved tickets become KB drafts. When a ticket is resolved, FixControl can mine the agent's resolution into a pending knowledge-base draft. Nothing is published automatically — a human approves first. See Knowledge base.
  • Status can sync back. With an optional inbound webhook configured (Admin guide), Freshdesk pushes ticket-status changes so the FixControl issue shows the live support status — without ever changing the FixControl workflow status itself.

Odoo Helpdesk plays the same double role for teams that run support in Odoo:

  • Create and link tickets. FixControl creates and links Odoo helpdesk tickets and reads their stage back — Odoo stays the system of record for the customer conversation.
  • Two-way status sync. An optional inbound webhook pushes stage changes so the issue shows the live support status; optionally, resolving an issue moves the ticket to a stage the operator names — never a guessed one.
  • Governed customer replies. A drafted customer reply goes through the communication approval flow; only after a human approves is it posted as a customer-visible message on the ticket.
  • Resolved tickets as evidence. Triage surfaces related settled Odoo tickets with why each matched and how much to trust it — evidence to weigh, never an automatic answer.

TOPdesk plays the same double role for teams that run their service desk in TOPdesk:

  • Create and link incidents. FixControl creates and links TOPdesk incidents and reads their processing status back — TOPdesk stays the system of record for the conversation with the caller.
  • Two-way status sync. An inbound webhook you configure in TOPdesk pushes changes so the issue shows the live service-desk status; optionally, resolving an issue marks the incident completed and sets a processing status the operator names — never a guessed one.
  • Governed customer replies. A drafted reply goes through the communication approval flow; only after a human approves is it posted as an incident action visible to the caller. Progress notes stay invisible to the caller.
  • Resolved incidents as evidence. Triage surfaces related settled TOPdesk incidents with why each matched and how much to trust it — evidence to weigh, never an automatic answer.

Slack never creates support-desk tickets directly. The flow is always Slack → FixControl intake → FixControl issue → (optionally) Freshdesk, Odoo, or TOPdesk ticket.

DevOps & CI/CD

FixControl can also connect to your CI/CD providers to observe and govern deployments. It receives pipeline and deployment events, scores each one for risk, and records an immutable log. For most providers it does not trigger or roll back deployments itself. The one execution path today is Argo Rollouts promotion, and it runs only after a human approves a deployment gate, where Argo is configured for it — there is no autonomous deploy, and rollback is never executed by FixControl.

ProviderHow you connect
GitHub ActionsGitHub App
GitLab CIOAuth + project ID
Jenkins · Azure DevOps · Argo CD · Vercel · Terraform Cloud · KubernetesManual webhook + one-time secret

Setup lives in the Admin guide → DevOps & CI/CD.

Automation — Webhooks & API

SurfaceWhat it gives you
Outbound webhooksHMAC-SHA256 signed deliveries on issue / patch / run events. Per-event filtering. Retried with exponential backoff. See Webhooks.
Public APIBearer-token REST API for issues, patches, integrations, and audit. Tenant-scoped keys with explicit scopes. See API.

What about the rest?

FixControl focuses on the bridge from inbox to PR. It does not try to be a CRM, a billing system, or a generic automation platform — those are the systems we send data to (via webhooks) and pull context from (via your knowledge base or custom REST endpoints), not replacements we build inside FixControl. The same goes for ERPs: FixControl connects to Odoo's Helpdesk module as a support tracker — it does not replace or integrate the rest of the ERP (sales, invoicing, inventory, …).

If you need to react to a FixControl event in another system, the path is: subscribe an outbound webhook → handle the signed delivery on your side. If you need data from another system at triage time, put it in the Knowledge base so agents can read it.

Visibility

You can see the live state of every integration in Settings → Integrations:

  • connected — credentials valid, traffic flowing
  • setup_required — partially configured, needs action
  • error — credentials expired or upstream unreachable; click in for the message
  • not_connected — never set up

Integration health is also surfaced on the admin dashboard, so an unhealthy integration shows up there even if nobody is watching the settings page.

Anything unclear or wrong?Let us know →

FixControl is a trade name of FixControl B.V. i.o.