Microsoft Teams
Controlled releaseOperate FactorFox from Microsoft Teams.
Your briefing arrives in Teams. So do signals, exceptions, assigned work and the approvals waiting on you. You read what changed, open the evidence behind it, approve the release, assign the follow up, and never open a dashboard. It works the same on a phone.
The reason to care is not convenience. It is that nothing loosens on the way out of the building.
Teams · FactorFox AI · Approvals
Action requiredRelease schedule SCH-2214 for funding
- Client
- Sunline Packaging
- Amount
- $268,400
- Requested by
- R. Vasquez
- Gates
- 8 of 8 passed
You raised this request. Four eyes applies, so a second officer has to approve it. Sent to M. Chen, credit officer.
Audit · origin teams · actor robert@factorfox.com · refused by policy four_eyes
Why this exists
The owner is the bottleneck, and it is not because they are slow.
Funding stalls at the moment it needs a person who is in a car, in a meeting or in another city. The usual fix is to loosen the control. That is the wrong fix.
The authority boundary
Microsoft proves identity. FactorFox grants authority.
Every institution that has connected a chat tool to a system of record has had the same argument about what happens to the controls. Here is the answer, in the order the platform applies it.
The door checks the envelope. The Teams endpoint validates that Microsoft signed the activity. An unsigned request gets a 401 and goes no further.
The identity is resolved, never assumed. The Microsoft object identifier is matched against a FactorFox user by subject, never by email address, because email addresses change hands and subjects do not. An unknown identity is refused and nothing is provisioned.
Every mutation crosses the real surface. A card action does not call domain logic. It calls the ordinary application interface under a short lived session minted for the resolved user, so role checks, four eyes, counter review, facility guards and audit all execute. Cards are renderings. Permission and current state are re checked on the server at the moment of execution, which means a card sitting in a channel from yesterday cannot execute against a book that has moved since.
Nothing sends without passing the wall. Mail sent through Microsoft Graph is wrapped in the same delivery controls as every other channel, including the sandbox rules that stop a test from reaching a real debtor.
The refusal is the product
Approve a release you requested yourself, from Teams, and the platform refuses you by name and explains that four eyes applies. It is not a Teams feature and it cannot be turned off by changing surface, because the rule lives underneath every surface.
Solo operators are not exempted. In solo mode an AI counter review is recorded where the second officer’s name would sit, and it refuses outright when any underlying fact has changed since the request was raised.
What you can do
Six surfaces, one system underneath
There is no second brain. Every one of these calls the same endpoints the web application calls, so an answer in Teams and an answer on screen can never disagree.
Briefing tab
The six questions answered inside Teams, scoped to your responsibility. A second briefing states what moved since the first rather than restating the book.
Dialogue in chat
Ask what our open AR is, or why a client was flagged, and get an answer with its sources named. Not a canned reply, and not a different model from the one the platform runs.
Signal cards
A risk signal arrives with its reason and its evidence. Acknowledge from the card and the state change is real, audited, and stamped with origin Teams and your name.
Approvals
Releases, overrides and exceptions, approved or refused from the card, with four eyes and facility guards fully enforced.
Assigned work
What is yours, in the channel or in Microsoft To Do, with the permission each action needs shown against it.
Mobile
The same surfaces, phone sized. The point of the whole integration is the person who is not at a desk.
Security and controls
Written for the person who reviews vendors, not for the person who buys software.
If your bank or your auditor asks what this integration can reach, this is the list. Copy it into the questionnaire.
| Control | How it works |
|---|---|
| Inbound authentication | Bot Connector signature validated on every activity. Unsigned requests are refused with 401 before any handler runs. |
| Identity resolution | Microsoft object identifier matched to a FactorFox user by subject. Email is never used as the match key. |
| Provisioning | None. Identity linking is explicit, performed once by the user with their FactorFox credentials, and recorded in an audited table. |
| Authorisation | Role checks, four eyes, counter review and facility guards run on the server for every Teams initiated action, identically to the web path. |
| Graph scopes | Application permissions, least privilege, limited to the features enabled: Mail.Send, Mail.ReadWrite, Calendars.ReadWrite, Tasks.ReadWrite.All. The capabilities screen shows what the token actually carries. |
| Mailbox scoping | An Exchange application access policy can fence the application to a single shared mailbox rather than the whole tenant. |
| Outbound delivery | Graph mail passes the same delivery wall as every other channel, including allowlist and sink behaviour in non production environments. |
| Audit | Every action records actor, evidence, policy version, confidence where applicable, and origin. Audit records are immutable at the database level. |
| Revocation | Graph access is revoked per tenant with one call and the revocation is stored and audited. Teams can be disabled by clearing one setting. |
| Blast radius | Nothing in the platform depends on the adapters. Removing Teams removes Teams and changes nothing else. |
Status is controlled release. The interface has been proven against a deployed service, with sixteen of sixteen server side claims verified in a dated run, and it is installed into your tenant by custom upload rather than from the Teams store. We would rather tell you that than round it up to available.
Beyond Teams
The rest of the Microsoft environment, where it earns its place.
Outlook and Graph mail. A remittance lands in a shared mailbox and becomes a cash application proposal with the original message preserved as evidence. It is never posted silently. The same message is never ingested twice. Content that looks like a bank account change is classified as requiring verification rather than applied, because that is the single most expensive email a factoring company receives.
Calendar. A collections case projects its next contact into the officer’s calendar. Deleting the calendar entry does not close the case, because the case is the record and the calendar is a projection of it.
Microsoft To Do. Assigned work appears where the rest of a person’s work already is.
Bookings. Scheduling for reviews and demonstrations runs inside your own tenant rather than through a third party calendar tool holding your data.
Entra ID. Federated sign in over OIDC and SAML, configured per tenant. Your directory decides who someone is and when they stop being an employee. FactorFox decides what they may do. Break glass access survives a directory outage.
Straight answers
What a credit committee asks about this
Is this a chatbot?
No. It is the same application surface the web app calls, rendered as cards. When you press Approve in Teams, the request crosses the ordinary API with a short lived session minted for your resolved identity, so middleware, role checks, four eyes, counter review, facility guards and audit all run exactly as they would for a browser click.
What happens if someone in our Microsoft tenant is not a FactorFox user?
They get a friendly refusal card explaining that the account is not linked, and nothing is created. No user, no tenant, no shadow record. Being in the Teams channel is not authorisation. Microsoft proves identity, FactorFox grants authority, and those are two separate decisions.
Can someone approve their own funding request from Teams?
No. Four eyes is enforced in the platform, not in the Teams layer, so it cannot be bypassed by changing surface. If you requested the release, Teams refuses your approval and tells you why. A second officer approving from their own phone executes it, and the audit record names them and records the origin as Teams.
What Microsoft permissions does this need?
The Teams surface itself needs no Graph permissions. The mail, calendar and task features use application permissions scoped to what is enabled: Mail.Send, Mail.ReadWrite, Calendars.ReadWrite and Tasks.ReadWrite.All. The capabilities screen in FactorFox shows exactly what your token carries, because the roles list on the token is the truth rather than what the documentation claims.
Can we turn it off?
Yes, and nothing else changes. Clearing the Teams application id makes the door answer 501, or you delete the bot's Teams channel. Native FactorFox is unaffected because by design nothing in the platform depends on the adapters. Graph mail is revoked per tenant with a single call, and the revocation is stored and audited.
Is it in the Microsoft Teams app store?
Not yet. It is installed by custom upload into your tenant, and it is running in controlled release with named customers. We say controlled release rather than available because that is what it is. A marketplace listing is sequenced after the current validation programme.
Related
See a briefing land in your own tenant.
We will show you the approval that gets refused because the requester tried to approve it. That single moment explains the product better than any deck.