FlowStudio

FlowStudio and FlowStudio MCP - Security and Architecture Review

Last updated: 2026-08-03
Audience: Enterprise InfoSec and Architecture review
Owner: Flow Studio Solutions, ABN 82 632 928 539

Executive summary

FlowStudio products connect to Microsoft Power Platform using Microsoft Entra authentication and delegated Microsoft API permissions. FlowStudio does not receive Microsoft passwords and does not store connector secrets.

There are five related product surfaces:

SurfacePurposePrimary data pathStorage model
FlowStudio AppBrowser app for viewing, managing, and debugging Power Automate flowsUser browser to Microsoft Power Platform APIsBrowser cache plus FlowStudio service metadata
FlowStudio for TeamsTeam view for flow/app inventory, monitoring, and run historyScheduled or user-initiated scans through FlowStudio server functionsAzure Storage tables/blobs, either FlowStudio-managed or customer-provided
FlowStudio MCPMCP server for AI agents working with Power AutomateAgent to FlowStudio MCP to Microsoft Power Platform APIsMostly pass-through; stores account, usage, and tool-call logs
FlowStudio AIBrowser chat that operates Power Automate for the user, with the AI agent includedUser browser to FlowStudio server to Azure OpenAI, then to Microsoft Power Platform APIsAzure Storage tables; conversation content encrypted at rest
FlowStudio GovernanceTenant-wide governance, maker analytics, compliance scoring, and audit reportingScheduled or user-initiated scans through FlowStudio server functionsAzure Storage tables/blobs, either FlowStudio-managed or customer-provided

Permissions required

Microsoft sign-in

FlowStudio uses Microsoft Entra ID for authentication.

PermissionWhy it is neededNotes
openid, profile, emailSign the user in and identify the accountUsed by the web app/auth layer
Tenant ID and object ID claimsBind the account to the correct tenant/workspaceUsed for tenant isolation and access checks
offline_accessMaintain delegated access after explicit consentUser/admin can revoke consent in Microsoft

Power Platform delegated permissions

These are requested only when the user grants Power Platform access.

ScopeUsed byPurpose
https://service.flow.microsoft.com//Flows.Read.AllApp, Teams, MCPRead Power Automate flow metadata and definitions where the user/service account has access
https://service.flow.microsoft.com//Flows.Manage.AllApp, Teams, MCPManage flows, including update, enable/disable, trigger, resubmit, or repair actions when invoked
https://service.flow.microsoft.com//Activity.Read.AllApp, Teams, MCPRead flow activity/run metadata
https://service.flow.microsoft.com//Approvals.Read.AllApp/Teams where enabledRead approval metadata
https://service.flow.microsoft.com//Approvals.Manage.AllApp/Teams where enabledManage approvals where the user has rights
https://service.powerapps.com/UserApp/Teams/MCP setupRead Power Apps/Power Platform user context and app inventory where enabled
https://api.powerplatform.com/.defaultNewer Power Platform API pathsRead tenant/environment/flow endpoints exposed by the Power Platform API
https://manage.office.com//ActivityFeed.ReadGovernance audit featuresRead Microsoft 365 activity feed events for governance reporting
https://graph.microsoft.com/user.readbasic.allGovernance maker enrichmentResolve basic user profile fields for maker/owner identification

Permissions not requested for MCP

FlowStudio MCP does not request mailbox, calendar, OneDrive, SharePoint file, Teams chat, or broad Microsoft Graph content scopes for the agent request path.

Connecting without an admin approval: the FlowStudio browser extension

Some organisations do not grant the Power Platform delegated permissions above to new applications. Those tenants can connect a second way, using the FlowStudio browser extension, and the security properties differ in ways a reviewer should understand.

With the extension, FlowStudio holds no token source of its own. The user installs the extension in Chrome or Edge, pairs it once from the FlowStudio MCP dashboard, and keeps a signed-in Power Automate tab open. When an agent calls a tool, the request is executed inside that browser, using the session the user is already signed in to, and the result is returned to the agent.

What this means in practice:

  • No administrator approval is required, because no new delegated permission is granted to FlowStudio. The extension acts only within a session the user has already established.
  • The Power Automate access token never leaves the browser. FlowStudio does not receive it, and does not store it.
  • The ceiling is still the user’s own access. The extension cannot reach anything the signed-in user could not reach themselves in the Power Automate portal, so it is not a way to bypass Power Platform permissions, data loss prevention policies, or environment restrictions.
  • Activity is attributable to that user. Calls execute as the paired identity, and appear in Microsoft’s own audit trails as that user’s activity.
  • The pairing is bound to one identity. A key that has been paired to one tenant and user cannot be reused by a different signed-in identity.
  • Revocation is immediate and local. Removing the extension, signing out, or revoking the key from the FlowStudio MCP dashboard ends access.

Operational limits worth stating plainly: the one-time setup requires a desktop browser, calls only succeed while the paired browser is open and signed in, and each call carries additional latency compared with the delegated-permission path because it makes an extra hop through the browser. Organisations that can grant the delegated permissions should prefer that path.

Data accessed

Data classExamplesScope
Account identityName, email, Entra tenant ID, Entra object IDCurrent signed-in user and service accounts connected by the customer
Subscription and entitlementPlan, call limit, billing period, Stripe customer/subscription IDsFlowStudio account/workspace
Power Platform environment inventoryEnvironment IDs, names, region/type where availableTenant/workspace, based on granted access
Power Automate flow metadataFlow IDs, names, state, owner/team metadata, trigger/action structure, connector referencesFlows visible to the delegated account or admin/service account
Power Automate run metadataRun ID, status, start/end time, failed action names, error codes/messagesMonitored or requested flows
Action input/output payloadsRuntime inputs/outputs exposed by Power Automate action blob linksRead only when the user or agent explicitly asks to inspect a run action. MCP passes them through without storing or logging them. FlowStudio AI can quote them in an answer, and that answer is stored as conversation history - see Data stored
Connection inventoryConnector names, connection references, connection IDs, owner metadata where availableUsed for diagnostics, governance, and flow repair
Maker metadataBasic user display fields, ownership counts, governance role mappingGovernance reporting
Governance metadataBusiness impact, owner team, support group, monitoring flag, tags, scoresCustomer workspace

Data not accessed or not stored

DataPosition
Microsoft passwordsNever received by FlowStudio
Connector secretsNot stored by FlowStudio
Mailbox/calendar/file contentsNot requested for MCP and not part of the standard Power Automate MCP scope set
Payment card dataHandled by Stripe; FlowStudio does not receive card number/CVV
Runtime action payloadsNot stored as routine product data; MCP can fetch them transiently when explicitly requested for debugging

Data stored

FlowStudio App

Stored itemLocationPurpose
Browser cache/preferencesBrowser cache/OPFSFaster UI, local filtering, recent selections
Account/license metadataFlowStudio backendAccess control and entitlement checks
Optional cached flow/run dataBrowser cache/OPFSLocal app performance and offline-style repeat viewing

FlowStudio for Teams / Governance

Stored itemLocationPurpose
Customer/workspace mappingAzure Table StorageResolve the authenticated user to a workspace
Microsoft refresh tokensAzure Storage token table, protected by Azure platform encryption at restObtain delegated Power Platform access tokens after consent
EnvironmentsAzure Table StorageInventory and filtering
Flows and Power Apps metadataAzure Table StorageGovernance, search, reporting
Runs and failure metadataAzure Table StorageMonitoring, failure trends, diagnostics
Makers/users basic metadataAzure Table StorageOwnership and governance reporting
Connections/connectorsAzure Table StorageDependency and risk reporting
Governance fieldsAzure Table StorageBusiness impact, owner team, support and compliance views
CSV/report exports or debug blobs where configuredAzure Blob StorageCustomer reporting and support diagnostics

FlowStudio MCP

Stored itemLocationPurpose
Customer/workspace mappingAzure Table StorageResolve the authenticated user to a workspace
API key or key metadataAzure Table StorageAllow MCP clients to authenticate
Microsoft refresh tokensAzure Storage token table, protected by Azure platform encryption at restObtain delegated Power Platform access tokens after consent
EntitlementsAzure Table Storage and StripePlan limits and access control
MCP usage countsAzure Table StorageBilling/limits
MCP action logsAzure Table StorageUsage metering, security review, support diagnostics
Connector hintsAzure Table StorageImprove agent guidance for connector/action authoring
Update-flow debug logsAzure Blob StorageTroubleshoot failed flow update/create calls

MCP action logs record metadata such as tool name, timestamp, user ID, tenant ID, workspace, status, duration, and error message. They are not intended to store full flow definitions, connector secrets, or run payload bodies.

FlowStudio AI

Stored itemLocationPurpose
Customer/workspace mappingAzure Table StorageResolve the authenticated user to a workspace
Conversation historyAzure Table Storage, message content encrypted at rest, deleted after 90 daysContinue a conversation; support and quality review
Workspace preferences and cached access keyAzure Table StorageProduct settings and access to Power Automate
EntitlementsAzure Table Storage and StripePlan limits and access control
Credit and token usage countsAzure Table StorageBilling/limits
Seat and persona assignmentsAzure Table StorageAccess control within a workspace

Conversation history is stored in Australia East, so conversation content at rest stays in Australia; only prompt content in transit reaches the Azure OpenAI resource in East US.

Unlike MCP action logs, conversation history stores message content: the user’s questions and the agent’s replies. Because the agent answers from live data, a reply can quote flow definitions, action inputs and outputs, and run errors it read in order to answer. Conversation content is not used to train any model. Review of conversation content by the FlowStudio team for product improvement is off unless the user turns it on; support and diagnostic access to a user’s own reported conversation is unaffected.

Data transferred

FlowStudio architecture diagram showing data transfer paths between users, agents, FlowStudio APIs, Microsoft services, Azure Storage, Stripe, and Google Analytics

TransferDataNotes
Browser to Microsoft EntraLogin/authenticationMicrosoft handles credentials
Browser/server/MCP to Power Platform APIsDelegated API callsSubject to Microsoft tenant policies, DLP, RBAC, and the consented account’s rights
Paired browser extension to Power Platform APIsCalls executed in the user’s own signed-in sessionUsed only where the delegated permissions above are not granted. The Power Automate access token stays in the browser and is not sent to or stored by FlowStudio; the call result is returned to the requesting agent
FlowStudio server to Azure StorageProduct metadata, logs, tokens, usageStorage can be FlowStudio-managed or customer-provided for Teams/governance workspaces
FlowStudio AI server to Azure OpenAIPrompt contentThe user’s message, the conversation so far, and any flow definition or run output read to answer it. Sent to a FlowStudio-owned Azure OpenAI resource in East US; not used to train any model
FlowStudio site/server to StripeBilling/subscription metadataCard data remains with Stripe
Public marketing/docs pages to Google AnalyticsPage views and basic site eventsNot used in MCP JSON-RPC agent traffic

External systems and subprocessors

SystemPurposeData involved
Microsoft AzureHosting, functions, storage, monitoring - regions: Australia East (primary), West US, West Europe / Germany West CentralService data, operational logs, stored metadata
Microsoft Entra IDAuthentication and delegated OAuth consentIdentity claims and OAuth tokens
Microsoft Power Platform APIsProduct data source and action targetFlow/app/environment/run/connector data
Azure OpenAILanguage models behind FlowStudio AI - FlowStudio-owned resource, region: East USPrompt content, including flow definitions and run output read to answer a question. Microsoft does not use it to train models
StripeSubscription billingBilling email, customer/subscription IDs, payment status
Google Analytics 4Public site analyticsPage/event analytics on public web pages only
HubSpot or email platform, if usedProduct/support communicationsName and email for opted-in communications

FlowStudio does not sell customer data.

Bring Your Own Azure Storage

Customers can use their own Azure Storage account for FlowStudio for Teams / Governance workspace data.

Setup model

FlowStudio BYOS storage setup model showing the workspace locator routing FlowStudio services to a customer-owned Azure Storage account containing Table and Blob Storage

FlowStudio stores a workspace-to-storage mapping in its central registry. Product data for that workspace is written to the customer-owned storage account.

Customer requirements

RequirementDetail
Azure Storage accountGeneral-purpose v2 storage account with Azure Table Storage and Blob Storage available
Network accessFlowStudio services must be able to reach Table and Blob endpoints. If private endpoints/firewalls are required, allow the FlowStudio function outbound path agreed during setup
Authentication methodStorage connection string or equivalent SAS/credential with required table/blob permissions
Permissions neededCreate/read/update/delete table entities; create/read/write blobs and containers used for exports/debug logs
Security baselineHTTPS only, TLS 1.2+, encryption at rest enabled, customer-managed keys optional if required by the customer
LifecycleCustomer owns storage account lifecycle, retention policies, backup/replication choices, and deletion controls

Typical tables/containers

The exact set depends on enabled modules, but common tables include:

Table/containerPurpose
gEnvsPower Platform environments
gFlowsPower Automate flow metadata and governance fields
gRunsFlow run metadata and failure details
gAppsPower Apps metadata
gMakersMaker/user summary metadata
gConnectionsPower Platform connection inventory
gConnectorsConnector catalog/inventory
gRules, gScansMonitoring rules and scan state
gAccounts / AccountTokensConnected service account/token records where configured
Blob containers such as clarity or debug containersCSV exports and support/debug artifacts where enabled

BYOS setup steps

  1. Customer creates or nominates the Azure Storage account.
  2. Customer confirms network controls and whether public endpoint, firewall allowlisting, or private endpoint access is required.
  3. Customer provides a least-privilege connection method to FlowStudio through the agreed secure channel.
  4. FlowStudio registers the workspace-to-storage mapping.
  5. FlowStudio runs a test scan and verifies tables/blobs are created and written.
  6. Customer validates storage account logs, data residency, backup, and retention settings.

FAQ

Does FlowStudio store Microsoft passwords?
No. Authentication is handled by Microsoft Entra ID.

Can customers use their own Azure Storage?
Yes. FlowStudio can write Teams/governance workspace data to customer-owned Azure Storage.

Does MCP store flow definitions?
Starter/Pro MCP calls are primarily pass-through. Flow definitions are not stored as routine MCP product data. Some paid monitoring/governance features can cache selected flow metadata when enabled.

Does MCP store run payloads?
No run payload storage. MCP can fetch action inputs/outputs transiently when the user/agent explicitly asks for run debugging.

Can FlowStudio modify flows?
Yes, where the consented account has rights and the user/agent invokes a management tool. Examples include update, enable/disable, trigger, cancel, resubmit, or add to solution.

What is a FlowStudio workspace?
A workspace is an isolation bucket within a tenant. One or more users in the same group share a workspace to review and manage monitoring together. Within the same tenant, multiple workspaces can exist - for example, different teams monitoring different projects independently. It is also possible to monitor multiple tenants (such as separate dev and prod tenants) within a single workspace. Multi-tenant workspace configuration is available by request.

Each workspace has an associated Azure Storage account for storing flow, run, and governance data. This storage can be auto-provisioned and managed by FlowStudio, or customers can bring their own Azure Storage account (BYOS).

Are calls tenant-isolated?
Yes. Records are partitioned by tenant/workspace identifiers, and API calls resolve the authenticated identity before accessing workspace data.

Can access be revoked?
Yes. Microsoft consent can be revoked from Microsoft, and FlowStudio API keys/tokens can be removed from the dashboard/service.

Are external AI models used by FlowStudio MCP?
No. FlowStudio MCP is an API/tool layer. The AI agent chosen by the customer calls MCP; FlowStudio does not run a server-side LLM for MCP requests. This answer covers MCP only - see the next question for FlowStudio AI.

Does FlowStudio AI run a language model?
Yes. FlowStudio AI is the one surface where FlowStudio operates the model rather than the customer. It runs on Azure OpenAI in a FlowStudio-owned Azure resource, and the FlowStudio agent decides which tools to call. Prompt content can include flow definitions and run output read to answer the question. It is not used to train any model.

Can FlowStudio AI change a flow on its own?
It reads freely. A write normally requires that the user asked for the change or accepted a proposal, checked per request before the call reaches Power Automate, and further checks reject specific classes of damaging change, such as a definition that would remove existing actions.

These checks are deliberately biased towards availability: if one cannot complete, the request is allowed to proceed rather than the product blocking legitimate work. They are a guard against an agent overstepping, not a security boundary. The boundary is Microsoft’s: every change is made with the user’s own delegated permissions, so FlowStudio AI cannot make a change the signed-in user could not make themselves, and the change is recorded against that user in Microsoft’s audit trail.

Does FlowStudio bypass Microsoft DLP or RBAC?
No. Calls are made through Microsoft APIs using delegated access and remain subject to the tenant’s Microsoft controls.

What happens if the subscription ends?
Access is removed. Stored data is deleted on request or during account/workspace offboarding according to the agreed process and applicable recordkeeping obligations.