Skip to content
FactorFox

Microsoft Teams

Controlled release

Operate 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 required

Release schedule SCH-2214 for funding

Client
Sunline Packaging
Amount
$268,400
Requested by
R. Vasquez
Gates
8 of 8 passed
ApproveOpen evidenceRefuse

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

Illustration of the approval card and the four eyes refusal. Card structure, the gate count, the permission model and the audit fields are the platform’s own. Names and figures are from a seeded demonstration book.

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.

An approval waits until someone gets back to a desk, or gets granted to somebody who should not have it so the day can close.
The approval arrives as a card with the evidence attached. The person who should approve it does, from wherever they are, and the control is unchanged.
Somebody screenshots a queue into a chat and the decision gets made in a thread nobody can audit later.
The decision happens on the card. The state change is real, and the audit record carries the actor, the evidence, the policy version and the origin.
The owner asks what changed overnight and three people spend the morning assembling an answer from four screens.
The briefing answered it at seven, in Teams, scoped to what the owner is responsible for, with the numbers linked to the records that produce them.
Adding people to the chat quietly becomes a way of granting access to information nobody decided to grant.
Conversation is not authorisation. An unlinked Microsoft account is refused by name and nothing is created for it.

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.

Microsoft permissions and controls
ControlHow it works
Inbound authenticationBot Connector signature validated on every activity. Unsigned requests are refused with 401 before any handler runs.
Identity resolutionMicrosoft object identifier matched to a FactorFox user by subject. Email is never used as the match key.
ProvisioningNone. Identity linking is explicit, performed once by the user with their FactorFox credentials, and recorded in an audited table.
AuthorisationRole checks, four eyes, counter review and facility guards run on the server for every Teams initiated action, identically to the web path.
Graph scopesApplication 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 scopingAn Exchange application access policy can fence the application to a single shared mailbox rather than the whole tenant.
Outbound deliveryGraph mail passes the same delivery wall as every other channel, including allowlist and sink behaviour in non production environments.
AuditEvery action records actor, evidence, policy version, confidence where applicable, and origin. Audit records are immutable at the database level.
RevocationGraph access is revoked per tenant with one call and the revocation is stored and audited. Teams can be disabled by clearing one setting.
Blast radiusNothing 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.

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.