> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ravenna.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# September 2026

> Ravenna product updates from September 2026, including new features, platform improvements, integration releases, and notable bug fixes.

**September 26, 2026**

## Run an agent rule on a schedule or from a webhook

![An agent rule's Trigger card set to Webhook, showing the rule's webhook URL, on a soft gradient background](https://mintcdn.com/ravenna/9beestUDUdcQxPG4/images/changelog/2026/webhook-trigger.png?fit=max\&auto=format\&n=9beestUDUdcQxPG4\&q=85\&s=55dd20ca8ce1f822db86eeb055dd2200)

An [agent rule](https://docs.ravenna.ai/documentation/automate/agents/configure.md#rule-triggers) no longer has to wait for someone to message the agent. Set its trigger to **Schedule** and the agent opens and works a ticket every time the schedule fires, or set it to **Webhook** and it does the same whenever another system calls the rule's URL. Both run as the agent the rule is attached to, and their tickets land in the workspace's **Agent Runs** channel.

Learn more

## Agents ask which rule you meant

When a message fits two or more [agent rules](https://docs.ravenna.ai/documentation/automate/agents/configure.md) equally well, the agent asks which one you meant instead of guessing. It offers up to three options and asks at most twice. If you still do not pick one, it carries on as if no rule matched.

Learn more

## See who approved in a workflow

The **Ticket Approval** trigger and the **Wait for Approval** action now output **Approved By** and **Declined By**, the people who approved or declined across every round. A later [workflow](https://docs.ravenna.ai/documentation/automate/workflows/triggers-actions.md) step can thank the approvers, notify whoever declined, or record the decision somewhere else.

Learn more

***

**Quality of life updates:**

Platform

* If Ravenna updates while you have a tab open, the tab reloads itself when you come back after a minute or more away, or when you move to another page.

Tickets

* The [inbox view](https://docs.ravenna.ai/documentation/tickets/organize/views.md) has a compact icon toolbar and a simpler filter popover, and next and previous ticket navigation carries on to the next page of results.

Copilot

* For a longer request, [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) can show its plan as a checklist under the message that started it and tick off steps as it reports progress. The card folds to a summary once every step is done.

MCP server

* The [MCP server](https://docs.ravenna.ai/documentation/automate/mcp/tools.md) has a **Manage ticket attachments** tool that lists, adds, and deletes a ticket's files, and **Get ticket by ID** lists which files are attached.
* `update_application` replaces the `application__update` MCP tool, and no AI surface can archive an application any more.

Workflows

* The [Loop](https://docs.ravenna.ai/documentation/automate/workflows/triggers-actions.md) action can iterate over a form's multi-value custom fields (Multi-Select, User Multi-Select, Multi-Application Select, and Tag Select), so you can run steps for each value a requester picked.

AI agents

* The [Jamf](https://docs.ravenna.ai/integrations/jamf/overview) computer info tool can look up a computer by its Jamf ID or exact name, and asks which one you mean when several match.

Foundry

* The [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/actions.md) sidebar has a **+** in its header, a **Delete** action on each function row, and a **Manage** action on native integration rows that opens the integration's settings without leaving Foundry.
* A Foundry action test that exits with an error shows the actual error output instead of a generic failure.

Access provisioning

* An [access policy's](https://docs.ravenna.ai/documentation/automate/access-provisioning/policies.md) durations are set as a number and a unit and read in words, like **12 Hours** or **1 Month**. Pick the **Default Duration** from a dropdown, and select **Edit Options** there to add, reorder, or remove what requesters can choose.

Chat and email

* Running **Connect Enterprise Admin** again on a [Slack](https://docs.ravenna.ai/integrations/slack/overview) Enterprise Grid organization grants the user group permissions Ravenna needs, without disconnecting.

Bug fixes

* [Entitlements](https://docs.ravenna.ai/documentation/automate/access-provisioning/entitlements.md) search matches the person's name or email and the application, with each word narrowing the results, and a grouped table can flip its sort direction.
* Setting a workspace's maximum [reminders](https://docs.ravenna.ai/documentation/tickets/reminders.md) to **Unlimited** sticks instead of reverting to 3.
* [AI Tags](https://docs.ravenna.ai/documentation/tickets/organize/tags.md) no longer turn stray model reasoning into workspace tags, and existing tags are kept even if their names would not pass today's naming rules.
* When a model returns an empty result or rejects a large image, such as a phone photo, Ravenna retries on another model instead of skipping classification or tagging.
* Drilling into a one-day point on an [analytics](https://docs.ravenna.ai/documentation/measure/analytics.md) chart shows that day's tickets only, so the count matches the bar.
* Deflection analytics no longer count an agent announcing a hand-off to your team as assistance.
* The documented [API](https://docs.ravenna.ai/api/overview.md) endpoint for listing a ticket's attachments responds instead of returning 404.
* After a refresh, pages wait for sign-in to finish before loading data, and a session that cannot be renewed signs you out and brings you back to the same page.
* The Foundry connect-integration dialog and the Copilot setup card show the full OAuth callback URL instead of a relative path.

**September 22, 2026**

## An inbox for your tickets

![The View Options menu with the Inbox view layout selected, showing its Inbox view tooltip, on a soft gradient background](https://mintcdn.com/ravenna/9beestUDUdcQxPG4/images/changelog/2026/inbox-view.png?fit=max\&auto=format\&n=9beestUDUdcQxPG4\&q=85\&s=58571005fe4d02c96cd2814f02456751)

Switch any ticket view to **Inbox** and work tickets without leaving the list. The [ticket list](https://docs.ravenna.ai/documentation/tickets/organize/views.md) sits on the left with the ticket you selected open on the right, so you can move down the list, reply, and move on without a round trip through the ticket page.

Learn more

## Agents take action in Okta and Google Workspace

An [agent](https://docs.ravenna.ai/documentation/automate/agents/overview) can now create, remove, and reset users in [Okta](https://docs.ravenna.ai/integrations/okta/agent-tools.md) and [Google Workspace](https://docs.ravenna.ai/integrations/google-workspace/agent-tools.md) itself, including resetting MFA, suspending and restoring accounts, transferring file ownership, creating email aliases, and checking whether an email address is available. When Copilot drafts a rule that uses them, it suggests **Requires confirmation** for write tools and **Requires approval** for delete tools, and you can change either per rule.

Learn more

## Mention a user group

Type `@` and pick a [user group](https://docs.ravenna.ai/documentation/platform/groups.md) to mention everyone in it at once. Group mentions work in ticket replies and private notes, message edits, the agent editor, and rich-text workflow fields. In Slack, a group synced from that Slack workspace gets a real group ping; everywhere else the mention shows as the group's handle.

Learn more

***

**Quality of life updates:**

Platform

* Organization admins can see every workspace and its members without being added first, and each workspace has an explicit **Owner**. See [organization settings](https://docs.ravenna.ai/documentation/platform/organizations/settings.md).
* A [portal](https://docs.ravenna.ai/documentation/platform/portal.md) submission whose form does not open a ticket confirms **Form submitted** instead of looking like a new ticket.

Tickets

* The ticket list has an **Agent** column and filter, so you can see and group the tickets an [agent is working on](https://docs.ravenna.ai/documentation/tickets/roles.md) before they reach a person.
* [AI Tags](https://docs.ravenna.ai/documentation/tickets/organize/tags.md) tag a ticket when it is created and again once at resolution, when the full conversation often shows the right classification. Tags applied by rules, workflows, or people are never removed.
* Copy a ticket as Markdown from the ticket actions menu, so you can paste it into a doc or a message with formatting intact.
* The open ticket's actions are available from the command palette, so a keyboard shortcut reaches every action on the ticket you are looking at.
* A ticket's activity records when its type changes and when a form is removed.
* Deleting a [status](https://docs.ravenna.ai/documentation/tickets/organize/statuses.md) that still has tickets prompts you to pick a status to move them to.
* The **Auto Assignee** [channel](https://docs.ravenna.ai/documentation/tickets/channels.md) setting is now read-only and will be removed in a future update. Use [round-robin assignment](https://docs.ravenna.ai/documentation/tickets/roles.md) or an [agent rule](https://docs.ravenna.ai/documentation/automate/agents/configure.md) instead.

Approvals

* Workspace admins can **Force Reject** an [approval](https://docs.ravenna.ai/documentation/tickets/approvals/overview) from the overflow menu on the ticket's approval panel, declining the active round and skipping any later rounds in one step.

Copilot

* [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) can rotate a credential on an existing Foundry integration when you ask it to.
* Copilot can list the people in a workspace when a question calls for it.

Workflows

* The [Send Form](https://docs.ravenna.ai/documentation/automate/workflows/triggers-actions.md) action can deliver by email as well as Slack, so a workflow can ask someone outside Slack to fill out a form.
* The [workflow](https://docs.ravenna.ai/documentation/automate/workflows/workflow-builder.md) action picker only offers Foundry actions from integrations in the current workspace.

Knowledge

* Connect [Guru](https://docs.ravenna.ai/integrations/guru/knowledge.md) and choose exactly which collections or folders belong in a Ravenna knowledge folder, so you can point an agent at one part of Guru without pulling in the rest.
* Guru cards keep their headings, lists, tables, code blocks, callouts, collapsibles, quotes, and links when they sync. Images and attached files come across as links back to Guru, where your existing permissions apply.
* A [knowledge base](https://docs.ravenna.ai/documentation/automate/knowledge/overview) subfolder shows its own status and document count.
* A knowledge chat log entry links straight to the ticket that came out of the chat.

AI agents

* An [agent rule](https://docs.ravenna.ai/documentation/automate/agents/configure.md) autosaves as you edit. A rule created from an agent's page is attached and enabled right away, and the enable switch sits in the editor header when you open it from the agent.
* Every workspace has one **Agent Runs** system channel, and scheduled and webhook-triggered [rule runs](https://docs.ravenna.ai/documentation/automate/agents/configure.md) all land there instead of a per-rule channel picker.

Foundry

* A curated [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) provider like Anthropic pre-fills the static headers it requires, so the **Connect** screen verifies without you adding them.
* A Foundry OAuth token failure shows the provider's own error message instead of a bare HTTP status.

Access provisioning

* An [application's](https://docs.ravenna.ai/documentation/automate/access-provisioning/applications.md) owner and approver fields each accept a list of users and groups.
* An [access policy](https://docs.ravenna.ai/documentation/automate/access-provisioning/policies.md) picks **No Approval Required** right in the **Approvers** field instead of a separate toggle.
* The [entitlements](https://docs.ravenna.ai/documentation/automate/access-provisioning/entitlements.md) table is simpler, and clicking a row opens a details drawer.
* Access level descriptions show under each option in the request form picker.
* A Foundry-provisioned application sends its post-provisioning message for user-group access levels too.

Chat and email

* Forward a Slack message into a [connected channel](https://docs.ravenna.ai/integrations/slack/creating-tickets.md) and the ticket picks up the original message, its author, and its files, instead of just the wrapper message.
* A Slack agent shows **is working on your request...** in the thread within moments of your message, so you know it picked up the request before the reply is ready.
* The [Slack DM classifier](https://docs.ravenna.ai/integrations/slack/direct-messages.md) carries the message text through a clarification round and routes on the images someone attached, so a follow-up with a screenshot reaches the right agent.

Integrations

* The [Create integration](https://docs.ravenna.ai/integrations/overview.md) modal opens on a provider picker with search and popular providers up top.
* The [Okta](https://docs.ravenna.ai/integrations/okta/overview) Foundry bridge reports the OAuth scopes Okta actually granted, and a permission error names the scope to add.
* A [Linear](https://docs.ravenna.ai/integrations/linear/overview) OAuth failure returns Linear's own error message, so it is clear whether the code expired, the redirect URI is wrong, or the app was revoked.

Bug fixes

* A form that has been archived no longer appears in filter pickers.
* The `@` mention menu closes when you press space, so a typed word is not swallowed by the picker.
* An analytics chart tool accepts every valid filter field.
* Starting a new chat in the workspace [portal](https://docs.ravenna.ai/documentation/platform/portal.md) opens the chat instead of a blank page.
* An emoji reaction on an already-resolved ticket in a [triage channel](https://docs.ravenna.ai/integrations/slack/triage-channel.md) is handled instead of failing.
* A date-time ticket attribute accepts a time again, and shows the stored value at the wall clock it was saved with.
* Previous and next ticket navigation works on the ticket detail page.
* Changing the channel in the **Create ticket** dialog no longer wipes the title, description, or fields you already filled in.
* The ticket sidebar shows the ticket's channel by name instead of **Invalid value**.
* An [analytics](https://docs.ravenna.ai/documentation/measure/analytics.md) widget's **View** opens a ticket list that matches the widget.
* Publishing a Foundry action after the agent auto-fixes the code goes through instead of stalling on the previous version.
* A filter whose last value you deselect stays in place, empty, instead of removing the row.
* Clicking outside the access level editor keeps your unsaved edits.
* The ticket timeline no longer shows a priority change that was silently reverted.
* An agent treats organization members and workspace members as distinct, so a rule scoped to a workspace does not run for an organization user who is not in it.
* Reloading a ticket refetches its conversation from the server instead of showing a stale cached copy.
* Cross-workspace ticket links open the ticket in whichever workspace can view it, instead of a 404.
* A [Microsoft Teams](https://docs.ravenna.ai/integrations/microsoft-teams/overview) form dialog stops flashing an error while it loads, and shows a real submit failure instead of failing silently.
* A completed access request posts one message to the ticket: each application's post-provisioning messages combined, or the approval message when there are none, instead of both.
* Provisioning a user-group access level no longer creates duplicate entitlement rows.
* A ticket [email](https://docs.ravenna.ai/integrations/email/overview) reply with a recipient wrapped in stray quotes sends instead of failing address validation.

**September 16, 2026**

## Everything about a member, on one page

![A two-person member icon on a white rounded tile over a soft gradient background](https://mintcdn.com/ravenna/dZlFYVJ5TWrx0G0N/images/changelog/2026/member-detail-page.png?fit=max\&auto=format\&n=dZlFYVJ5TWrx0G0N\&q=85\&s=d10532021b7a8d07011a9e6f1d1f77bd)

See who someone is, what they can reach, and how they are notified without opening three screens. Every member now has their own page, with tabs for **Details**, **Access**, and **Notifications**. Open it from [Members](https://docs.ravenna.ai/documentation/platform/organizations/settings.md#members), or bring the same view up in a side drawer from anywhere in the app when you only need a quick look.

Learn more

## Name approvers right on an access policy

An [access policy](https://docs.ravenna.ai/documentation/automate/access-provisioning/policies.md) no longer needs an approval template to decide who signs off. Pick the people, groups, or roles who should approve, and choose whether **any** of them or **all** of them have to agree before access is granted.

Learn more

## Decide who can trigger an agent rule

An [agent rule](https://docs.ravenna.ai/documentation/automate/agents/configure.md) now has its own audience. Leave it open to **Everyone**, or limit it to specific user groups, so a rule that grants access or touches a sensitive system only runs for the people who should be able to start it.

Learn more

## Prove a workflow request really came from Ravenna

The [HTTP Request action](https://docs.ravenna.ai/documentation/automate/workflows/triggers-actions.md) can sign every request it sends, so the system on the other end can confirm Ravenna sent it and nobody changed it along the way. Point the signing key at a [Vault](https://docs.ravenna.ai/documentation/platform/organizations/vault.md) credential and Ravenna signs with HMAC-SHA256, putting the signature in `X-Ravenna-Signature` or a header you pick.

Learn more

## Grant a Cloudflare Access app straight from a ticket

Connect [Cloudflare Access](https://docs.ravenna.ai/integrations/cloudflare-access/overview) and Ravenna can add and remove people from your Zero Trust groups as a [workflow](https://docs.ravenna.ai/integrations/cloudflare-access/workflows.md) step. An access request can grant an application and take it back on schedule, with nobody opening the Cloudflare dashboard.

Learn more

***

**Quality of life updates:**

**Tickets:**

* Large [ticket lists and boards](https://docs.ravenna.ai/documentation/tickets/organize/views.md) load noticeably faster.
* Edit and delete [tags](https://docs.ravenna.ai/documentation/tickets/organize/tags.md) directly on the tags page.

**Forms:**

* The form picker in the [workflow builder](https://docs.ravenna.ai/documentation/automate/workflows/workflow-builder.md) lists draft forms, so you can build the workflow before you publish the form.

**Reminders:**

* A [reminder policy](https://docs.ravenna.ai/documentation/tickets/reminders.md) can follow each person's own working hours instead of one schedule for the whole workspace. Set yours in **My Settings**, and a reminder addressed to you waits for your next working window.

**Email:**

* A [channel](https://docs.ravenna.ai/documentation/tickets/channels.md) can ignore everyone else on the thread when it is CC'd or BCC'd on incoming mail. Those people are not added as followers and are left off replies. An alias that keeps the channel out of **To** and **CC** counts as BCC.

**Portal:**

* The [portal](https://docs.ravenna.ai/documentation/platform/portal.md) has an organization-wide side navigation with **My Tickets** from every workspace you belong to, plus your recent [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) chats. Your open requests and past conversations are in one place, whichever workspace they came from.

**Agents:**

* [Rule matching](https://docs.ravenna.ai/documentation/automate/agents/configure.md) now gives up rather than hanging, with a 10-second limit per rule and 30 seconds overall, so a stuck rule cannot hold up a conversation.
* The [Runs tab](https://docs.ravenna.ai/documentation/automate/agents/deploy-monitor.md) is always available, so you can review past runs before an agent has any rules.
* An [agent](https://docs.ravenna.ai/documentation/automate/agents/configure.md) posting to a [Slack](https://docs.ravenna.ai/integrations/slack/overview) channel can reply inside a thread, so a follow-up lands with the original message instead of starting a new one.

**Workflows:**

* Every step in the [workflow builder](https://docs.ravenna.ai/documentation/automate/workflows/workflow-builder.md) has an **Outputs** panel that breaks results like **Ticket** and **User** into individual values you can reference, so a later step can use one field without you reading raw JSON.
* The [Wait for Approval](https://docs.ravenna.ai/documentation/automate/workflows/triggers-actions.md) action no longer has a separate **On Timeout** branch. It branches **On Approved** and **On Declined**. An approval that times out without a decision follows neither branch and the run ends at that step, so handle a stalled approval with a [reminder policy](https://docs.ravenna.ai/documentation/tickets/reminders.md) and a **Reminder Expired** workflow.
* The **Search Ticket** and **Search User** [actions](https://docs.ravenna.ai/documentation/automate/workflows/triggers-actions.md) return one result when **Limit** is 1 and a list when it is higher, so later steps get the shape they expect.
* [Workflow run](https://docs.ravenna.ai/documentation/automate/workflows/monitor.md) retries are available in every workspace from the runs table.

**Copilot and Foundry:**

* [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) reuses an OAuth provider your organization already registered when it sets up a [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) integration, instead of asking for the same client credentials again, and carries on by itself once you enter them.
* [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) recognizes an API that makes you log in first, or that wants its credentials split across several fields, and suggests the right setup. It asks for the **Authorization URL** and **Token URL** directly when it cannot find them in the API's own documentation.
* [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/using-actions.md) stops hiding short values that only look like a secret, so an ID or a country code comes through as itself. When something genuinely is hidden, the result now says so.
* A [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) native bridge and its functions share one sidebar row, so a long list of related actions no longer crowds the panel.

**Integrations:**

* A [Google Workspace](https://docs.ravenna.ai/integrations/google-workspace/overview) error when creating a user names the organizational unit Google rejected, so you can fix it without reading logs.
* Saving an [integration's](https://docs.ravenna.ai/integrations/overview.md) settings or credentials rechecks the connection right away, so its status reflects what you just changed.
* Slack messages from bots like RSS feeds and webhooks now arrive in [Slack-sourced tickets](https://docs.ravenna.ai/integrations/slack/creating-tickets.md) under the bot's own name and avatar, instead of being dropped.

**Bug fixes:**

* A customer's email reply threads back onto the original ticket instead of opening a new one.
* An [email](https://docs.ravenna.ai/integrations/email/overview) reply that fails to send leaves a [private note](https://docs.ravenna.ai/documentation/tickets/private-notes.md) on the ticket with the error and who it was meant for, instead of disappearing quietly. Replies on older tickets with malformed reply-all recipients go out again.
* The ticket editor no longer replaces a title or description you just typed with an older draft when you switch tabs mid-save.
* A bulk ticket update that fails now tells you, instead of appearing to do nothing.
* A ticket counts as unread only when a new message arrives, not just because you have never opened it, so the unread count reflects what actually changed.
* The ticket table no longer breaks on a Slack-sourced ticket whose Slack thread is gone.
* Clearing or changing [ticket](https://docs.ravenna.ai/documentation/tickets/organize/views.md) filters clears the older ones too, so a filter you removed stops coming back.
* Unassigning a ticket is recorded in the conversation, so its assignment history stays complete.
* A [workflow](https://docs.ravenna.ai/documentation/automate/workflows/overview) run no longer performs a step twice, and a ticket created by the **Create ticket** action triggers notifications and follow-up automations again.
* An [access request](https://docs.ravenna.ai/documentation/automate/access-provisioning/overview) for an access level with no approval policy now asks any approver to sign off, instead of failing to open an [approval round](https://docs.ravenna.ai/documentation/tickets/approvals/rounds.md). [Approvers](https://docs.ravenna.ai/documentation/automate/access-provisioning/policies.md) are also worked out from the requester, so the right people are asked when the level depends on who is asking.
* An approved [agent](https://docs.ravenna.ai/documentation/automate/agents/overview) tool batch runs instead of stalling.
* The [message classifier](https://docs.ravenna.ai/documentation/automate/agents/overview) no longer skips a ticket because of the way its attachment is linked.
* [Copilot's](https://docs.ravenna.ai/documentation/automate/copilot/build-automations.md) automation planner sees your workspace's real channel list, so it stops rejecting a channel name you typed.
* A failed [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) auth test says what to fix, not just that it failed, and the OAuth dialog shows the full callback URL Ravenna actually sends.
* A [portal](https://docs.ravenna.ai/documentation/platform/portal.md) form with a pre-filled multi-select answer loads instead of crashing.
* An out-of-date error on a [Slack form](https://docs.ravenna.ai/integrations/slack/creating-tickets.md) clears once the dependent fields appear, so the form stops looking broken after you pick a value.
* The `/rav info` [Slack command](https://docs.ravenna.ai/integrations/slack/creating-tickets.md) calls the linked channel **Connected Channel** instead of an internal name.
* Detail pages for applications, forms, and knowledge documents show a proper error instead of a blank screen when something fails to load.
* A [channel's](https://docs.ravenna.ai/documentation/tickets/channels.md) email footer and a [task](https://docs.ravenna.ai/documentation/tickets/tasks.md) description pick up edits made elsewhere, instead of showing an older draft.
* Tasks, task templates, and [channel](https://docs.ravenna.ai/documentation/tickets/channels.md) settings can only be read or changed from inside the workspace they belong to.

**September 11, 2026**

## Share a form publicly without opening it to the world

Put a passcode on a [public form](https://docs.ravenna.ai/documentation/tickets/forms/overview) and only the people you gave the code to can use it. Requesters enter it before the form will load, and every submission is checked against it, so you can hand a link to contractors or new hires without exposing it to anyone who finds the URL.

Learn more

## Connect an API that makes you log in first

Plenty of tools will not answer a request until you trade credentials for a token. [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) now handles those, with the **Advanced** authentication method.

Describe the login call once: which credentials to collect, where each one belongs on the request, and whether to send it only at login or on every call. Ravenna logs in, holds on to the token, and gets a new one when it expires. Anything you mark as secret is kept in your [Vault](https://docs.ravenna.ai/documentation/platform/organizations/vault.md) instead of in the integration. Start from a preset for an API key, a bearer token, or Mosyle, and **Test connection** shows you the exact request before you save it.

Learn more

## Your agents can read the files attached to Notion pages

A file attached to a [Notion](https://docs.ravenna.ai/integrations/notion/knowledge.md) page is no longer a dead end. Ravenna pulls the text out of PDF, Word, PowerPoint, Excel, and HTML attachments and indexes it with the page itself, so an answer can come from inside the attachment and cite it.

This happens on every new and re-synced page with nothing to set up. An attachment Ravenna cannot read still appears as a link, as before.

Learn more

***

**Quality of life updates:**

**Tickets:**

* [Merging tickets](https://docs.ravenna.ai/documentation/tickets/merge-tickets.md) now closes the loop on the one you merged away. It gets a note pointing at the ticket that carries the conversation on, and if someone else raised it, they start following that ticket so they keep seeing updates.
* A merged ticket stops behaving like open work. Its [SLAs](https://docs.ravenna.ai/documentation/automate/slas.md) stop, reminders and inactivity auto-close skip it, and a reply no longer reopens it. It also stays read-only until you unmerge it, so nobody edits a ticket the team has stopped watching.

**Forms:**

* A **Duration** [custom field](https://docs.ravenna.ai/documentation/tickets/forms/custom-fields.md) can be shown or hidden based on any other field, the same as every other field type.

**Agents:**

* An [agent](https://docs.ravenna.ai/documentation/automate/agents/configure.md) follows the assignment guidance in a [knowledge](https://docs.ravenna.ai/documentation/automate/knowledge/overview) article its escalation instructions point at, instead of ignoring the article.

**Knowledge:**

* A [Notion](https://docs.ravenna.ai/integrations/notion/knowledge.md) database synced into a knowledge base is indexed row by row instead of as one wall of text, and each row keeps its column headers. Search returns the rows that answer the question, with enough around them to make sense.
* Google Docs and HTML files arrive from [Google Drive](https://docs.ravenna.ai/integrations/google-drive/knowledge.md) as Markdown rather than plain text, so headings, lists, and links survive for an agent to cite. The docs now list every supported file type and how each one is stored.
* A sync error with a long link in it wraps instead of stretching off the screen.

**Copilot and Foundry:**

* [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) spots an API that needs **Advanced** authentication while it sets up a [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) integration, so it asks for the right credentials instead of falling back to a generic login.

**Integrations:**

* An [Okta Verify](https://docs.ravenna.ai/integrations/okta/workflows.md) push now goes to every device the person has enrolled, so the prompt reaches whichever one they have on them.

**Platform:**

* The [admin audit log](https://docs.ravenna.ai/documentation/platform/organizations/audit-log.md) records the users an integration's sync creates or updates, credited to the integration rather than to a person. Its name and logo appear in the table, the detail panel, and CSV exports, for example *Okta Sync*.

**Bug fixes:**

* A [public form](https://docs.ravenna.ai/documentation/tickets/forms/overview) with an audience no longer lets someone outside that audience submit by opening the form's direct link.
* A saved date range filter no longer crashes the [ticket list](https://docs.ravenna.ai/documentation/tickets/organize/views.md), and searching a filter's options finds every match.
* Changing the page size on a [shared view](https://docs.ravenna.ai/documentation/tickets/organize/views.md) no longer shows an error.
* A value already entered in a custom field is kept when the ticket loads, instead of being cleared.
* Dropping a ticket on a [board](https://docs.ravenna.ai/documentation/tickets/organize/statuses.md) column reliably lands in that column.
* A ticket that is reopened and resolved again gets new resolved and closed times, so durations in [analytics](https://docs.ravenna.ai/documentation/measure/analytics.md) reflect the latest resolution.
* Chatting with an [agent](https://docs.ravenna.ai/documentation/automate/agents/deploy-monitor.md) shows every message it sends in a turn, not only the last one.
* Image attachments in [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) chat upload and display again.
* The table widget on an [analytics](https://docs.ravenna.ai/documentation/measure/analytics.md) dashboard lists its tickets again instead of coming up empty.
* [Analytics](https://docs.ravenna.ai/documentation/measure/analytics.md) counts respect a filter that excludes tags and other related records, instead of ignoring it.
* An [entitlement's](https://docs.ravenna.ai/documentation/automate/access-provisioning/entitlements.md) status keeps updating while a grant or revoke finishes, instead of sticking part-way.
* Activating a [workflow](https://docs.ravenna.ai/documentation/automate/workflows/workflow-builder.md) that fails validation no longer leaves it showing **Active**. The status goes back and the problems stay flagged, so it is clear the workflow was not published.
* The **Update ticket** [workflow action](https://docs.ravenna.ai/documentation/automate/workflows/triggers-actions.md) handles the request type's custom fields correctly when it changes a ticket's request type.
* A workflow action from an integration you built in [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) appears under that integration's own tile in the [workflow builder](https://docs.ravenna.ai/documentation/automate/workflows/workflow-builder.md), not another app's.
* The [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) credential card reopens after a failed check, so you do not lose what you typed.
* [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/actions.md) no longer repeats a version like `/v2` when both the API's base URL and the endpoint path include it, so requests reach the right address.
* Sending a message in [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/actions.md) action chat no longer shows your prompt twice.
* A [Microsoft Teams](https://docs.ravenna.ai/integrations/microsoft-teams/overview) dialog form fills in correctly instead of leaving auto-selected dropdowns blank.
* A large [Vanta](https://docs.ravenna.ai/integrations/vanta/overview) user sync no longer trips a rate limit partway through.
* Ravenna no longer crashes on Safari on an iPhone or iPad.
* An expired session is renewed in the background instead of failing your requests until you reload.

**September 8, 2026**

**Bug fixes:**

* Revoking an [entitlement](https://docs.ravenna.ai/documentation/automate/access-provisioning/entitlements.md) mapped to a [OneLogin](https://docs.ravenna.ai/integrations/onelogin/overview) group now clears the user's group in OneLogin. It previously reported the revocation as successful while the access stayed in place, and could strip an unrelated role whose numeric ID happened to match the group's.
* An access level mapped to a OneLogin **role** now assigns that role. It previously wrote the role's ID into the user's primary group field. Where an earlier grant did that, group-mapped grants for the affected user fail with `USER_BELONGS_TO_DIFFERENT_PRIMARY_GROUP` until an admin clears their group in OneLogin.
* OneLogin group and role membership survives a resync, so an entitlement you granted no longer disappears from the group in Ravenna.
* A OneLogin grant or revocation Ravenna cannot carry out is recorded as failed instead of successful, so it shows up on the entitlement rather than passing quietly.

**September 7, 2026**

## Merge duplicate tickets

![The merge icon, two paths converging into a single upward arrow, on a soft gradient background](https://mintcdn.com/ravenna/QDW5CCuXWJIvu7gC/images/changelog/2026/merge-tickets.png?fit=max\&auto=format\&n=QDW5CCuXWJIvu7gC\&q=85\&s=0bb9646e04551a43934211ff6e09b3ba)

Merge one or more tickets into a primary ticket. Merged tickets close and point at the primary, and the primary shows each one as its own **Merged from** thread in the timeline. When a merged ticket has a different requester, its messages stay internal, so a requester never sees someone else's conversation. Filter any view by **Merged** to find them later, and unmerge to reverse it.

Learn more

## Foundry functions with secrets as agent tools

[Agent rules](https://docs.ravenna.ai/documentation/automate/agents/configure.md#tool-input-settings) can now use [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/using-actions.md) functions that need a secret, like an API key. Pin the secret to a [Vault](https://docs.ravenna.ai/documentation/platform/organizations/vault.md) credential in the tool's input settings, and Ravenna injects the value when the function runs. The agent never sees the secret, and a rule does not save while a required secret is unpinned. Rule pinning covers top-level secret inputs; a secret nested inside an object input stays workflow-only.

Learn more

***

**Quality of life updates:**

**Copilot:**

* Create [applications](https://docs.ravenna.ai/documentation/automate/access-provisioning/applications.md) and revoke or extend [entitlements](https://docs.ravenna.ai/documentation/automate/access-provisioning/entitlements.md) from Copilot or an [MCP](https://docs.ravenna.ai/documentation/automate/mcp/tools.md) client.
* [Agents](https://docs.ravenna.ai/documentation/automate/agents/overview) and [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) can add a [private note](https://docs.ravenna.ai/documentation/tickets/private-notes.md) to a ticket, keeping internal context out of the requester's view.
* [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) can set up a [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) integration that authenticates with OAuth 2.0. Ravenna reads the grant type, token URL, and scopes from the API's documentation, and you enter only the client ID and client secret in an inline card, so the secret never passes through chat.
* The command palette finds your [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) chats alongside tickets, so you can jump back into a past conversation from anywhere in the app.
* [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) shows a ticket filter as a compact inline link in its replies instead of a large card.

**Foundry:**

* When you test a [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/actions.md) action, the endpoint field is prefilled with a known-safe endpoint instead of an empty box.
* [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) action generation can see native integrations you have not connected yet and points you to connect them, instead of ignoring them.
* [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) shows one alphabetical list of integrations when you pick one, and knowledge-only integrations no longer appear as action targets.
* When a [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/actions.md) request could apply to more than one integration, Foundry asks which one you mean instead of guessing.

**Agents:**

* Search the rule list on an [agent's settings page](https://docs.ravenna.ai/documentation/automate/agents/configure.md) to filter rules by title or description.
* [Agent chat logs](https://docs.ravenna.ai/documentation/automate/agents/deploy-monitor.md) show readable tool and integration names, like **Search tickets** and **Google Workspace**, instead of internal identifiers.

**Workflows:**

* [Workflow](https://docs.ravenna.ai/documentation/automate/workflows/triggers-actions.md) conditions and filters can match on the requester's **Organization Role**, so a rule can treat admins, members, and guests differently.

**Knowledge:**

* [Slack knowledge](https://docs.ravenna.ai/integrations/slack/knowledge.md) imports skip channel events and bot-started threads, distill each message into a clearer searchable form for better agent answers, and default to the last 24 hours when you do not pick a time range.
* Rename a [knowledge base article](https://docs.ravenna.ai/documentation/automate/knowledge/overview) from the article editor.

**Access provisioning:**

* When an [access request](https://docs.ravenna.ai/documentation/automate/access-provisioning/overview) cannot be created from a ticket, Ravenna posts a message on the ticket with an error code you can share with support, instead of failing silently.

**Tickets:**

* Sort tickets by requester, and group board columns by requester, in [views](https://docs.ravenna.ai/documentation/tickets/organize/views.md).
* Paging through the [ticket list](https://docs.ravenna.ai/documentation/tickets/organize/views.md) no longer recounts results on every page, so pages load faster.

**Analytics:**

* The agent [analytics](https://docs.ravenna.ai/documentation/measure/analytics.md) dashboard has a new layout, with summary cards for total tickets, agent participation, escalations, and unactionable tickets.
* A percentage card in [analytics](https://docs.ravenna.ai/documentation/measure/analytics.md) now says what the percentage is computed out of. Hover the value to see the exact denominator.

**Integrations:**

* A new **Unlock Okta User** [workflow action](https://docs.ravenna.ai/integrations/okta/workflows.md) and [agent tool](https://docs.ravenna.ai/integrations/okta/agent-tools.md) unlock a user whose Okta account is locked after failed sign-in attempts, so a locked-out employee gets back in without waiting on an admin.
* The [integrations](https://docs.ravenna.ai/integrations/overview.md) settings page has a search bar, and its categories are sorted alphabetically, so you find the integration you need faster.
* The connect dialog for an [integration](https://docs.ravenna.ai/integrations/overview.md) is redesigned with separate **Credentials** and **Permissions** tabs, and the same dialog appears everywhere you connect one, including from a workflow.
* An [integration](https://docs.ravenna.ai/integrations/overview.md) that syncs with problems shows a warning on its card in settings, with the details on hover, instead of looking healthy.

**Everywhere else:**

* Pick 10, 25, 50, or 100 rows per page on lists across the app.

**Bug fixes:**

* Mentioning the Ravenna bot in [Slack](https://docs.ravenna.ai/integrations/slack/overview) before you exist as a Ravenna user gets a reply explaining that an admin needs to add you, instead of silence.
* The built-in **Slack** channel is hidden until a [Slack](https://docs.ravenna.ai/integrations/slack/overview) workspace is connected.
* An email address inside a code span in a [Slack](https://docs.ravenna.ai/integrations/slack/overview) message stays as written, instead of being turned into a link.
* Navigating back or forward to a ticket page no longer shows an "Unknown workspace" error.
* The web app loads reliably on iOS Safari instead of crashing while restoring its cache.
* An [agent](https://docs.ravenna.ai/documentation/automate/agents/configure.md) no longer uses tools scoped to a rule when no rule matched the conversation.
* A deleted rule no longer lingers on the [agent's settings page](https://docs.ravenna.ai/documentation/automate/agents/configure.md) or errors when you detach it.
* A mention pill in an [agent rule](https://docs.ravenna.ai/documentation/automate/agents/configure.md) renders as a chip even when Copilot wrote it without quotes, instead of showing raw text.
* The @mention menu in an [agent rule](https://docs.ravenna.ai/documentation/automate/agents/configure.md) no longer offers knowledge sections for an agent with no knowledge attached.
* Asking [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) to group tickets by a field it does not recognize looks up the matching attribute instead of returning nothing.
* A blanket instruction to [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) like "confirm all update actions" covers every write action in the plan, so Copilot stops asking again for each one. Destructive actions still get their own confirmation.
* [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/build-automations.md) no longer gets stuck asking you to confirm the same automation plan.
* Two [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) integrations with the same name no longer overwrite each other's stored credentials.
* Deleting a [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) integration works even when the [Vault](https://docs.ravenna.ai/documentation/platform/organizations/vault.md) credential it references is missing.
* [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/actions.md) action generation no longer reports failed and then quietly completes. The status you see reflects the outcome.
* The [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) connect dialog pre-fills the API key header [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) found, instead of asking you to retype it.
* The integration connection form shows the error message when connecting fails, instead of failing silently.
* Steps a [workflow](https://docs.ravenna.ai/documentation/automate/workflows/overview) takes on a ticket show as **Ravenna** in the ticket timeline, instead of borrowing a branded agent's name and avatar.
* Text fields in [workflow](https://docs.ravenna.ai/documentation/automate/workflows/workflow-builder.md) filters offer interpolation values again.
* Grouping [entitlements](https://docs.ravenna.ai/documentation/automate/access-provisioning/entitlements.md) by application no longer crashes the page.
* [Entitlement](https://docs.ravenna.ai/documentation/automate/access-provisioning/entitlements.md) scans read every user group from your identity provider, not only the first page.
* A private workspace with the portal turned on now appears in the [portal](https://docs.ravenna.ai/documentation/platform/portal.md) for everyone in your organization, not only for workspace members. Ticket visibility is still governed by the workspace's privacy setting.
* [Notification emails](https://docs.ravenna.ai/documentation/platform/notifications.md) strip unexpected HTML from message content, so an injected tag renders as plain text instead of markup.

**September 3, 2026**

## A new Slack DM experience

![The Slack app icon on a soft gradient background](https://mintcdn.com/ravenna/94o4475oWeZC9KNd/images/changelog/2026/slack-dm-experience.png?fit=max\&auto=format\&n=94o4475oWeZC9KNd\&q=85\&s=37e7d68248cc954105da8ef13b3d8eae)

Chatting with your [agent](https://docs.ravenna.ai/documentation/automate/agents/overview) in Slack now looks and feels like a regular direct message. Slack is retiring its assistant messaging experience, so the separate history tab and new chat button are gone. Your conversations live in Slack's standard message tab, and the agent replies in-thread, so every request keeps its own context.

Tickets created from Slack without a specific channel, including direct messages, route to a dedicated **Slack** channel in Ravenna, which is now always visible in your workspace. The channel is named **Slack** in every workspace, and existing workspaces are updated automatically, so there is nothing to rename yourself. New workspaces also get **Web** as the name of the default channel.

Setup is simpler too:

* Routing follows agent presence. Connect an agent to a channel and DM conversations route to it. Visibility settings no longer affect routing, and connecting an agent no longer changes them.
* Visibility settings live in one place: a **Visibility** card in **Workspace Settings > General** with two toggles, **Available in Slack** and **Available in Portal**, that control where the workspace appears when filing tickets from the Slack home tab or the portal.

Learn more

## Approvals leave the requester out

A new **Allow requester as approver** switch in workspace [approval settings](https://docs.ravenna.ai/documentation/tickets/approvals/overview#workspace-settings) decides whether a ticket's requester can sit on their own approval rounds.

It is off by default, so the requester is stripped from every round, even when the thing that pulled them in was an approver group they belong to. Groups expand first and the requester is removed after, so there is no gap to police by hand. The rule applies the same way in the ticket sidebar, the approval rounds UI, workflows, and forms. Turn it on when self-approval is legitimate for your team.

Learn more

***

**Quality of life updates:**

**Copilot:**

* [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) shows its reasoning while it works on a reply: a short summary of its thinking, interleaved with tool activity. The thinking section streams in collapsed, so a long turn shows where it is headed instead of going quiet, and you can expand it to follow along or leave it closed.
* Searching your [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) chat history now searches all of your past chats, not just the ones already loaded in the sidebar.
* [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/build-automations.md) keeps a visible plan while it builds an automation and updates each step as it finishes.
* Ask [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/configure-workspace.md#outbound-webhooks) to list, create, and update the outbound webhooks that deliver workspace events to an external endpoint, and to pause or resume delivery. Each webhook appears as a card in chat, and the signing secret is entered in a masked field on that card rather than in the message box, so Copilot never sees it. Workspace admins only.
* [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) can update an existing [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) integration's name, base URL, and auth settings, instead of only creating new ones.
* A long attachment list in a [Copilot](https://docs.ravenna.ai/documentation/automate/copilot/using-copilot.md) chat collapses behind a show more button.

**Foundry:**

* Point a [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/using-actions.md) function's secret input at a [Vault](https://docs.ravenna.ai/documentation/platform/organizations/vault.md#foundry-function-secret-inputs) credential instead of pasting the value. The workflow stores only the reference, Ravenna decrypts it in memory at run time and scrubs it from execution logs, and it works for secret fields nested inside objects and arrays.
* When a secret input is not configured yet, the [agent](https://docs.ravenna.ai/documentation/automate/agents/overview) says which step it could not run instead of substituting another tool.
* When an API's documentation does not cover the endpoint you asked for, [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/actions.md) names the gap so you can point it at the right docs, instead of failing without an explanation.
* The [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) credential setup card in Copilot chat has a cleaner layout.

**Everywhere else:**

* The new **SLA Target Outcome** [ticket filter](https://docs.ravenna.ai/documentation/measure/slas.md) binds one target to one outcome in a single value, such as **Time to First Response met** or **Time to Resolution breached**. Stack two conditions to find tickets that met one target but breached another, which the separate target and outcome filters cannot express. It works in ticket lists, saved views, [analytics](https://docs.ravenna.ai/documentation/measure/analytics.md) widget conditions, and dashboard filters.
* Connect [Gusto](https://docs.ravenna.ai/integrations/gusto/overview.md) as an HRIS to sync employees, departments, and manager relationships into Ravenna, so agents can personalize answers and route tickets by department or role.
* [Okta setup](https://docs.ravenna.ai/integrations/okta/setup/overview) now opens with a comparison of the client secret and private key methods, and spells out every API scope the OIN app grants and what Ravenna uses it for. You can also switch a live integration from private key to client secret with **Update Credentials**, keeping the same integration ID with no resync.
* The **HTTP Request** [workflow action](https://docs.ravenna.ai/documentation/automate/workflows/triggers-actions.md) has a **Fail on error** toggle. Turn it off and a failed call no longer stops the run: the action returns `isSuccess: false` along with the response's status code and error message, so later steps can branch on the failure.
* [Email](https://docs.ravenna.ai/integrations/email/overview) channel settings gain outbound block lists. Add addresses or domains under **Blocked emails** and **Blocked domains**, and Ravenna stops sending email to them.
* Select several tickets and choose **Unassign** in the bulk assign menu to clear their assignees at once.
* An [agent](https://docs.ravenna.ai/documentation/automate/agents/overview) that creates or updates a [Google group](https://docs.ravenna.ai/integrations/google-workspace/overview) can add group managers and choose the requester's role, rather than always adding them as a plain member.
* When a [Slack](https://docs.ravenna.ai/integrations/slack/overview) channel has no agents left to connect, you get a shortcut to create a new [agent](https://docs.ravenna.ai/documentation/automate/agents/overview).
* The ticket metrics behind the [prepackaged analytics dashboards](https://docs.ravenna.ai/documentation/measure/analytics.md#prepackaged-dashboards) compute for every organization, with no enablement step.
* Inputs, text areas, and select fields share one refreshed style across the app, and the Ravenna bot icon adapts to dark mode instead of staying light on a dark background.

**Bug fixes:**

* The agent no longer adds duplicate form buttons to its [Slack](https://docs.ravenna.ai/integrations/slack/overview) replies, and shows its **Create Ticket** button at most once per thread instead of repeating it on every reply.
* A message to the Ravenna [Slack app](https://docs.ravenna.ai/integrations/slack/app-home.md) routes straight to your only routable agent instead of asking you to confirm it first.
* When an [agent](https://docs.ravenna.ai/documentation/automate/agents/configure.md) auto-submits a form on your behalf, it clearly confirms the submission instead of also showing a form card, and it no longer implies it submitted a form it is still waiting on you to fill out.
* A one-word message that matches an [agent rule](https://docs.ravenna.ai/documentation/automate/agents/configure.md) follows the rule, instead of the agent asking what you need.
* An [agent rule](https://docs.ravenna.ai/documentation/automate/agents/configure.md) that says to collect several details in one message, or to look up an existing record before creating one, is honored instead of being overridden by the agent's defaults.
* Listing a workspace's [Slack](https://docs.ravenna.ai/integrations/slack/overview) channels works again instead of returning an error, and the **Remove Group Members** [Slack workflow action](https://docs.ravenna.ai/integrations/slack/workflows.md) can remove a user group's last remaining member.
* Private notes stay private: their excerpts no longer appear in notification feeds, and ticket message reads hide them from people outside your team.
* A ticket summary now checks your access to the ticket and leaves private notes out unless you have full access.
* Ticket message reads and writes check ticket access consistently on every call.
* The new ticket modal opens with your current workspace and channel instead of the ones you last visited.
* **Copy title as link** copies the ticket title as the link text, not the ticket ID.
* Deleting a channel with no tickets no longer asks where to move them.
* The [workflow](https://docs.ravenna.ai/documentation/automate/workflows/triggers-actions.md) user attribute drilldown keeps the **Manager** option under HRIS and identity provider attributes.
* Editing an [SLA](https://docs.ravenna.ai/documentation/measure/slas.md) policy no longer loses unsaved changes when the list refreshes in the background.
* [MCP](https://docs.ravenna.ai/documentation/automate/mcp/tools.md) clients search applications scoped to what you can access, instead of listing every application in the organization.
* [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) library documentation lookups follow redirects and rank catalog matches by relevance, so building an action finds the right API reference faster.
* The [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/integrations.md) OAuth provider dialog shows the correct callback URL for your instance.
* The close button on the [Foundry](https://docs.ravenna.ai/documentation/automate/foundry/actions.md) editor's find and replace bar is no longer blocked by its own tooltip.
* An [analytics](https://docs.ravenna.ai/documentation/measure/analytics.md) card grouped or filtered by a multi-select attribute or custom field loads again instead of erroring.
* The unread badge on the in-app help chat no longer disappears after a trip through Settings.
* Menus opened from sidebar items close together with the sidebar, and rows for disabled tools in the [agent tools list](https://docs.ravenna.ai/documentation/automate/agents/configure.md) stay readable instead of appearing dimmed.
* The time field clock renders correctly in dark mode, agent log cards get their padding back, and a table row's focus ring is no longer clipped.


## Related topics

- [November 2026](https://docs.ravenna.ai/changelog/2026/november.md)
- [October 2026](https://docs.ravenna.ai/changelog/2026/october.md)
- [April 2026](https://docs.ravenna.ai/changelog/2026/april.md)
- [August 2026](https://docs.ravenna.ai/changelog/2026/august.md)
- [February 2026](https://docs.ravenna.ai/changelog/2026/february.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.