Early access · Dynamics 365 Finance & Operations

Your AI D365FO developer helper.

FOFox takes a task, makes the change in your Azure DevOps codebase, runs the build and tests, then shows you the diff. Nothing is pushed until you say so.

Works with your existing Azure DevOps repos and Entra ID sign-in.

Add custom fields to SalesTablefeature/sales-custom-fields
Add two custom fields to SalesTable in the Contoso Retail workspace: ContosoDeliveryPriority (enum, default Standard) and ContosoStoreId. Show them on the sales order header and validate that the store exists.
Done. I extended SalesTable with both fields, added the enum, placed them in a new Contoso group on the header, and added validateContosoStore(). Deployed to your UDE; one test failed, fixed it, all 18 pass.
Read SalesTable, SalesTableForm and existing extensions
Created enum, table and form extensions
Build succeeded · 4m 12s
Deployed to Contoso Retail UDE · 6m 02s
Tests 17 / 18 · fixed validateContosoStore() · 18 / 18
12 files changed +184 -37✓ Compile   ✓ Tests
@@ -12,7 +12,46 @@ SalesTable_ContosoRetail_Extension
- next initValue();
+ next initValue();
+ this.ContosoDeliveryPriority = ContosoDeliveryPriority::Standard;
+ this.ContosoStoreId = ContosoStoreParameters::find().DefaultStoreId;
+ public boolean validateContosoStore()
+ {
+ if (!ContosoStore::exist(this.ContosoStoreId))
+ return checkFailed("@ContosoRetail:StoreNotFound");
Nothing is pushed until you approve.
View detailApprove & Push
Start here

Pick a codebase, pick an environment, ask.

Every conversation is pinned to one connected codebase and one connected environment. FOFox works on that repository and deploys to that environment, and the chat shows exactly which pair it's using.

Hello! I'm your D365FO copilot.

I can help you with development, configuration, troubleshooting, best practices and more.

</>Explain this error
Optimize this query
< >Generate X++ code
Best practice for batch
Ask anything about D365FO…
+
CodebaseContoso Retail · D365/Main
EnvironmentContoso-Dev (UDE)
Ready · Working on D365/Main → deploys to Contoso-Dev
Your codebase

Connect your own codebase. FOFox works inside it.

Sign in with Microsoft Entra ID, pick the Azure DevOps repository, and tell FOFox where your project and models live. From then on every answer and every change is grounded in your actual code, not generic D365FO.

Connected codebases (3)+ Connect repository
Contoso Retail● Connected
Connection
Azure DevOps · Contoso
Repository
D365/Main
Project folder
D365/Main/Project
Model location
D365/Main/Metadata
Fabrikam Finance● Connected
Connection
Azure DevOps · Fabrikam
Repository
Fabrikam/D365FO
Project folder
Fabrikam/D365FO/Project
Model location
Fabrikam/D365FO/Metadata
Litware Solutions● Connected
Connection
Azure DevOps · Litware
Repository
Litware/D365
Project folder
Litware/D365/Project
Model location
Litware/D365/Models

Repository structure is synced and paths are validated automatically.

Your dev environment

Deployed and tested in your own UDE, before you look at it.

FOFox gives you a dedicated account for each environment. Add it as a user in your Unified Development Environment once, click verify, and you're connected. After that, every task is built, deployed to that environment, tested and debugged there, so the code you review has already run in a real D365FO instance.

Connected environments (3)+ Connect environment
Contoso Retail● Connected
Environment
Contoso-Dev (UDE)
Environment URL
orgf3a2c1d7.crm5.dynamics.com
FO URL
contoso-dev.operations.dynamics.com
FOFox account
contoso@agents.fofox.app Copy
Access
Verified · Developer role
Fabrikam Finance● Connected
Environment
Fabrikam-Dev01 (UDE)
Environment URL
org9b4e2a10.crm5.dynamics.com
FO URL
fabrikam-dev01.operations.dynamics.com
FOFox account
fabrikam@agents.fofox.app Copy
Access
Verified · Developer role
Litware Solutions● Waiting for access
Environment
LW-Dev (UDE)
Environment URL
org71c8d5e9.crm5.dynamics.com
FO URL
lw-dev.operations.dynamics.com
FOFox account
litware@agents.fofox.app Copy
Access
Add this user to the environment with a developer role, then Verify access

FOFox gives you one account per environment. You add it as a user; nothing else is shared.

Review

See the code and see it running, before you approve.

Every task comes back with two tabs: the full diff, and screenshots captured while the tests ran on the real D365FO form. Approve with the evidence in front of you.

Add custom fields to SalesTable
SalesTable_Extension.xppMetadata/ContosoRetail/AxClass+42 -3
@@ -12,7 +12,46 @@ SalesTable_ContosoRetail_Extension
public void initValue()
{
- next initValue();
+ next initValue();
+ this.ContosoDeliveryPriority = ContosoDeliveryPriority::Standard;
+ this.ContosoStoreId = ContosoStoreParameters::find().DefaultStoreId;
}
+ /// <summary>Validates the store before the order can be confirmed.</summary>
+ public boolean validateContosoStore()
+ {
+ if (!ContosoStore::exist(this.ContosoStoreId))
+ {
+ return checkFailed("@ContosoRetail:StoreNotFound");
+ }
+ return true;
+ }
SalesTable.xml +31ContosoDeliveryPriority.xml +24SalesTableForm_Ext.xml +38ContosoRetail_en-US.label.txt +11SalesTableTest.xpp +26+ 6 more
Nothing is pushed until you approve.
Approve & Push
Pricing

One seat, one price.

Early-access pricing. Seats include a monthly task allowance; heavy use can add capacity later.

Standard seat
$39/ user / month
  • Unlimited chat: explain, optimize, best practice
  • Included task allowance per seat
  • Connect your Azure DevOps codebase and review workflow
  • Audit history
Join the waitlist

Priced in USD. Early-access members keep this rate for 12 months after launch.

Coming later
Pro
  • Higher task limits and faster turnaround
  • Bring your own AI keys (BYOK)
  • Priority support

Not available yet. Early-access members help decide what goes in.

FAQ

Questions partners ask first.

Does FOFox store our source code?

No. Your Azure DevOps repository stays the source of truth. FOFox keeps only what a review needs: changed files, the patch, logs, build output and test results.

How do you handle DevOps credentials?

You sign in with Microsoft Entra ID and grant FOFox the Azure DevOps permissions it needs. FOFox never asks for your password or a personal access token.

Early access

Get FOFox before it goes public.

We're onboarding a small number of D365FO teams on the Standard plan ($39 per seat per month). Tell us about your setup and we'll reach out with next steps.

Your role
Team size (D365FO devs)

Early access is a paid plan. No charge until your team is onboarded. No spam.

Almost there

Your email app should have opened with your request. Send it and we'll be in touch.