diff --git a/apps/docs/anonymous-analytics.mdx b/apps/docs/anonymous-analytics.mdx
index e1bfbf7d7..f38893b55 100644
--- a/apps/docs/anonymous-analytics.mdx
+++ b/apps/docs/anonymous-analytics.mdx
@@ -53,8 +53,9 @@ Anonymous telemetry is opt-out:
- afterwards, admins can change it any time in **Settings > Deployment**
The setting applies to everyone in the deployment. When disabled, no
-analytics code runs in the browser and no usage events or daily reports
-leave your servers.
+analytics code runs in the browser and no anonymous usage events or daily
+analytics reports leave your servers. Licensed deployments still report the
+license ID and registered-user count used for subscription billing.
## Roomote Cloud Specifics
diff --git a/apps/docs/compute.mdx b/apps/docs/compute.mdx
index b7520a1a3..8e58b22a4 100644
--- a/apps/docs/compute.mdx
+++ b/apps/docs/compute.mdx
@@ -35,7 +35,9 @@ You configure sandbox providers during setup and can change them later from
## Supported providers
-Roomote supports local and hosted sandbox backends:
+Roomote supports local and hosted sandbox backends. Roomote Cloud deployments
+use a deployment-managed backend that requires no sandbox-provider setup and is
+not shown in **Settings > Sandboxes**.
| Provider | Best for | Notes |
| ----------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------- |
@@ -46,10 +48,11 @@ Roomote supports local and hosted sandbox backends:
| | Hosted perpetual task sandboxes | Uses automatic standby for resumable tasks. |
| | Hosted task sandboxes on Azure Container Apps (preview) | Supports memory+disk snapshots and sub-second standby resume. |
-Docker is the default because it works well for local development and simple
-self-hosted deployments. Hosted providers are useful when you want task work to
-run away from the Roomote server, scale beyond one host, or use provider-managed
-sandbox infrastructure.
+Docker is the fallback default when no hosted provider is configured because it
+works well for local development and simple self-hosted deployments. Managed or
+preconfigured deployments may select another provider. Hosted providers are
+useful when you want task work to run away from the Roomote server, scale beyond
+one host, or use provider-managed sandbox infrastructure.
For resumable Docker tasks, Roomote retains the stopped container and writable
workspace so a follow-up can restart in place on the same host.
diff --git a/apps/docs/cookbook/ci-failure-auto-fix.mdx b/apps/docs/cookbook/ci-failure-auto-fix.mdx
index 93c459e67..164c18231 100644
--- a/apps/docs/cookbook/ci-failure-auto-fix.mdx
+++ b/apps/docs/cookbook/ci-failure-auto-fix.mdx
@@ -33,7 +33,7 @@ clear instructions.
1. Set the Manager Channel under **Settings > Automations > Automation output**.
2. Enable **CI Failure Triage**.
3. Confirm each repository you care about belongs to a configured environment.
-5. Use **Run now** to test the configuration, or wait for the next default-branch failure.
+4. Use **Run now** to test the configuration, or wait for the next default-branch failure.
## Variations
diff --git a/apps/docs/integrations/asana.mdx b/apps/docs/integrations/asana.mdx
index 45e834067..dc765699a 100644
--- a/apps/docs/integrations/asana.mdx
+++ b/apps/docs/integrations/asana.mdx
@@ -5,7 +5,8 @@ icon: 'https://api.iconify.design/simple-icons:asana.svg?color=currentColor'
---
Connect Asana when your team plans or tracks work there and you want Roomote to
-inspect projects, tasks, teams, and comments during a task.
+inspect workspaces, projects, tasks, teams, comments, and users during a task.
+The built-in Asana tools are read-only.
## When to use it
diff --git a/apps/docs/integrations/resend.mdx b/apps/docs/integrations/resend.mdx
index 16d617dfb..32280bbc7 100644
--- a/apps/docs/integrations/resend.mdx
+++ b/apps/docs/integrations/resend.mdx
@@ -15,7 +15,7 @@ connection is shared across the deployment and requests Resend's
## Safer defaults
-Roomote initially disables tools that send or reschedule email, create or
+Roomote initially disables tools that send or update scheduled email, create or
remove API credentials, mutate domains or webhooks, mutate or trigger
automations, and mutate contacts. Read operations remain available, and
canceling a pending scheduled email remains enabled as a safety action.
@@ -23,7 +23,7 @@ canceling a pending scheduled email remains enabled as a safety action.
The disabled tools include:
- single, batch, and broadcast sending
-- rescheduling a scheduled email
+- updating a scheduled email
- creating or removing API keys that could bypass Roomote's tool policy
- creating or updating automations, or sending events that trigger them
- updating or removing domains
diff --git a/apps/docs/providers/communications/microsoft-teams.mdx b/apps/docs/providers/communications/microsoft-teams.mdx
index 68e7ec448..9917a920b 100644
--- a/apps/docs/providers/communications/microsoft-teams.mdx
+++ b/apps/docs/providers/communications/microsoft-teams.mdx
@@ -42,9 +42,9 @@ has a different bot app ID from the Entra app ID, choose **Show advanced config*
after the Directory (Tenant) ID field during setup and enter the bot-specific
values there.
-After Microsoft sign-in, **Settings > Linked Accounts** shows the Microsoft
-Teams account. Users who signed in with another provider can link Microsoft
-from that settings page.
+After Microsoft sign-in, **Settings > Personal > Linked Accounts** shows the
+Microsoft Teams account. Users who signed in with another provider can link
+Microsoft from that settings page.
## Teams bot registration
@@ -104,8 +104,11 @@ readiness, and enables all three messaging scopes:
- **Group chat** - group-chat messages that mention the bot start tasks
If you prefer to build the app package yourself in the Developer Portal, add a
-bot capability that uses the same Microsoft App ID as `R_TEAMS_BOT_APP_ID` and
-include the bot entry in the manifest:
+bot capability that uses the same Microsoft App ID as `R_TEAMS_BOT_APP_ID`.
+The relevant manifest sections are shown below; a complete uploadable manifest
+also requires the app ID, version, developer, name, description, icons, and web
+application metadata that the Developer Portal collects, plus the `identity`
+and `messageTeamMembers` permissions used by Roomote:
```json
{
diff --git a/apps/docs/providers/source-control/azure-devops.mdx b/apps/docs/providers/source-control/azure-devops.mdx
index 2943d7797..6d969158c 100644
--- a/apps/docs/providers/source-control/azure-devops.mdx
+++ b/apps/docs/providers/source-control/azure-devops.mdx
@@ -66,9 +66,10 @@ Source Control.
#### Required API permissions
-Azure DevOps does not use Microsoft Entra application permissions for service
-principals. Add the service principal to the Azure DevOps organization, assign
-at least **Basic** access, and grant the required project and repository
+In the app registration, add the Azure DevOps API permissions **Code, Graph,
+and User Delegation / Impersonation**, save them, and grant admin consent for
+the tenant. Then add the service principal to the Azure DevOps organization,
+assign at least **Basic** access, and grant the required project and repository
permissions in Azure DevOps.
### Connect with your Microsoft account