Apps
Apps connect Studio Actions to external systems and to Dooap. Each app holds the configuration and credentials Studio needs to call a specific service, and it contributes triggers, inputs, and tools that Actions can use.
Tenant Admins manage apps from Tenant Admin > Apps. From here you can create new apps, configure credentials, and review the resources each app provides to Actions.
What an App Provides
Depending on its type, an app can contribute any combination of these resources to Actions in the tenant:
- Triggers start an Action when something happens in the external system, such as a new email or a new file.
- Inputs read data from the external system at the start of a step, such as the body of an email or the bytes of a file.
- Tools perform actions in the external system from inside an Agent step or a Tool Call step, such as sending an email, writing a file, or marking a message as read.
Some apps provide all three; others provide only tools.
Creating an App
- Go to Tenant Admin > Apps.
- Select New.
- Choose the app type that matches the external system you want to connect.
- Enter a clear, descriptive name, for example
Microsoft Exchange - Accounts PayableorAzure Storage - Invoice Drop. - Fill in any app-specific fields, such as a mailbox address or storage account name.
- Save the app.
- Open the saved app and select Configure Credentials to enter the secrets the app needs to authenticate.
You can create multiple apps of the same type. Each app is a separate connection with its own configuration and credentials, which lets you point different Actions at different mailboxes, storage accounts, or environments.
App Types
Studio supports the following app types. The first two are built into Studio. The remaining types are connector-style integrations with specific external services.
Dooap
Dooap apps connect Studio to a Dooap tenant and unlock Dooap-specific automation, such as invoice processing scenarios. They allow Actions to react to Dooap events and to read and act on Dooap data.
- Connects to: A Dooap tenant.
- Authentication: Service Principal (Client ID, Client Secret, Azure Tenant ID) plus the Dooap external tenant ID.
- Triggers: Yes. Each Dooap app exposes a Dooap event trigger that Actions can subscribe to.
- Inputs and Tools: Yes. Standard Dooap inputs and tools are available to Actions that use the app.
Use a Dooap app whenever an Action needs to interact with Dooap, for example to process invoices or respond to Dooap events.
OpenAPI
OpenAPI apps let you bring an arbitrary HTTP API into Studio by importing its OpenAPI specification. Studio turns the spec into reusable inputs and tools that Actions can call without writing custom code.
- Connects to: Any HTTP API described by an OpenAPI specification.
- Authentication: None, API Key, or OAuth2 Client Credentials, depending on the target API.
- Triggers: Yes. Each OpenAPI app can expose a webhook trigger with a generated webhook URL, which external systems can call to start an Action.
- Inputs and Tools: Yes, and unique to this app type. You import inputs and tools from the OpenAPI specification, so the available operations match whatever the source API offers.
Use an OpenAPI app when you need to integrate a service that does not have a dedicated app type. See the OpenAPI app page for details on importing and configuring operations.
Azure Storage Account
Azure Storage Account apps connect Studio to an Azure Storage account so Actions can read, write, and move files in Azure Blob Storage and Azure Files.
- Connects to: An Azure Storage account.
- Authentication: Service Principal, plus the storage account name.
- Triggers: Yes. New blob in container, and new file in file share.
- Inputs: Read a blob, and read a file share file.
- Tools: Write and move blobs, and write and move file share files.
Use an Azure Storage Account app to start Actions from files dropped in Azure storage, or to read and write files as part of an Action Flow.
Microsoft Exchange
Microsoft Exchange apps connect Studio to Exchange Online through Microsoft Graph. They support inbound email scenarios as well as outbound email and message follow-up.
- Connects to: Exchange Online mailboxes through Microsoft Graph.
- Authentication: Service Principal with Microsoft Graph application permissions, plus a default mailbox address.
- Triggers: Yes. New email arrived, with filters for sender, subject, and body.
- Inputs: Read email details, list attachments, and read a selected attachment.
- Tools: Send email, archive email, mark email as read, flag email, and the same email-reading operations as inputs.
Use a Microsoft Exchange app for any Action Flow that reacts to incoming mailbox messages or sends email from an Exchange mailbox. For end-to-end examples, see Use Cases > Email in Actions.
Azure Communication Services
Azure Communication Services apps connect Studio to Azure Communication Services for outbound email and SMS.
- Connects to: Azure Communication Services Email and SMS.
- Authentication: Connection String from the Azure Communication Services resource.
- Triggers: None.
- Inputs: None.
- Tools: Send email from a verified ACS Email sender, and send SMS.
Use an Azure Communication Services app when an Action only needs to send notifications, and inbound processing is not required.
Remote MCP
Remote MCP apps connect Studio to a remote Model Context Protocol (MCP) server and make the tools it exposes available to Actions.
- Connects to: A remote MCP server over Streamable HTTP.
- Authentication: None, API Key, or interactive OAuth 2.1, depending on the target server.
- Triggers: None.
- Inputs: None.
- Tools: Yes, and unique to this app type. The available tools are whatever the connected MCP server exposes.
Use a Remote MCP app to bring an external MCP server's tools into Studio without building a dedicated app type. See the Remote MCP app page for details on connecting, authenticating, and discovering tools.
Managing Credentials
Credentials are stored on the app, not on individual Actions, steps, or prompts. To rotate or update secrets:
- Open the app from Tenant Admin > Apps.
- Select Configure Credentials.
- Update the values and save.
All Actions that use the app pick up the new credentials on the next run.
Credential changes are recorded in the Audit Log — it logs when credentials are configured or removed and by whom, but never the secret values themselves.
Exporting and Importing Apps
You can export an App to JSON and import it into another tenant — for example to promote a connection from UAT to Production, or to share a reusable App configuration.
- To export, open the App and select Export App. The Export App dialog shows the App together with all of its Input Types and Tools as JSON. Select Copy to Clipboard.
- To import, select Import on the Apps list, paste the JSON, and select Import New App. Studio recreates the App with its Input Types and Tools, and rebuilds its triggers from the App type.
A few things to keep in mind:
- Credentials are never exported. After importing, open the App and select Configure Credentials to enter the secrets for the target tenant.
- If an App with the same name already exists, Studio asks whether to Add numbered suffix or Overwrite existing.
- Individual Tools and Input Types can also be exported and imported on their own, with the same conflict choices.
- Built-in Standard Apps cannot be exported or imported.
For an end-to-end example that promotes Apps and Actions together, see Promoting from UAT to Production.
Things to Know
- Each app type provides a fixed set of triggers, inputs, and tools, except OpenAPI, which is defined by the imported specification.
- App-level settings such as the Exchange mailbox address or Azure storage account name are defaults. Triggers, inputs, and tools can override them where it makes sense.
- Credentials should always be entered through the Configure Credentials dialog, not pasted into Action prompts or step parameters.
- Some app types, such as Azure Communication Services, are outbound-only and do not provide a trigger. Pair them with another app or a Manual, Scheduled, Dooap, or data-driven trigger.