Internal apps and AI agents inside your Microsoft tenant We skip the six weeks of Azure setup each project used to need
az login && npx rails initConsole · audit logEntra ID
Leave agent read hr.leave as priya@contosoAllowed
Leave agent read hr.leave as mark@contosoDenied
Expense approver sent approve() to anita@contosoWaiting
Coding agents made everyone in your company a builder Rails gives what they build a safe place in your tenant
With Rails
- Apps and agents run on standard Azure services in your tenant.
- Every call carries the caller's Entra ID identity.
- Key Vault holds the credentials, never the code.
- Every data call, tool call, and approval lands in one audit log.
- There's no license per user and no meter per message.
Without it
- Power Apps adds a license per user and runs in the vendor's runtime.
- Copilot Studio fits one topic, not an agent that needs real code.
- Assembling Azure yourself takes six weeks of specialist work per project.
- Each project's setup drifts from the last one.
Your teams write six building blocks, and nothing else A complete leave agent, live in Teams, is twelve lines
Define an agent, and it's deployedYou write agent() with instructions, a model, and its tools. It runs on Azure AI Foundry.
Give every agent a typed toolA tool() sits behind API Management, and only the Entra groups you name can call it.
Read a dataset by nameWith data(), the code never sees a key. Rows come back filtered to whoever asked.
Know who is asking on every callThe user's Entra ID token reaches Microsoft Graph and every data source. There's no anonymous path.
Put the app in Teams, on the web, or bothOne surface() flag, and the same sign-in on either surface.
Pause for a person to decideWith approve(), the agent waits for the approver's click in Teams, and the decision is logged.
Rails sits between your teams and Azure Everything deploys to standard Azure services, in your own tenant
Who builds
Your developersBusiness users with a coding agentYour appsYour agents
Microsoft Rails
agent()tool()data()usersurface()approve()
Where people use it
TeamsThe webThe Console
Azure, in your tenant
Entra IDAPI ManagementAPI CenterContainer AppsAI FoundryDurable FunctionsBot ServicesCosmos DBKey VaultApplication InsightsLog AnalyticsAzure SQL
It runs in your tenant, and it stays there Your platform team keeps control of every workload
Deploy it, don't subscribe to itRails is software in your tenant. If you stop using it, every app keeps running on the Azure services beneath it.
See every workload from the ConsoleEach app's services, traces, and token spend, read from your own Application Insights.
Approve tools before anyone calls themSee who may reach which dataset as one matrix, and read the audit log without the Azure portal.
Bring one tool your teams keep asking for
We'll put it on Rails in your own sandbox subscription while you watch, and you read every call in the log.