Skip to main content
Set up automated access provisioning so users can request application access through a form or your AI agent, each request routes to the right approvers, and access is granted automatically once approved. This guide walks through the complete setup from application catalog to agent-assisted requests.

How the pieces connect

Access provisioning is built from four layers that cascade into each other. You configure them from the bottom up: The result is a single access request form that adapts to each requester. Users pick an application and an access level, the form shows only what they are eligible for, the access policy routes the request to the approvers defined in its approval template, and provisioning runs through the access level’s provisioning method.
You do not need to build a workflow for this. Approval routing and provisioning both happen automatically from the policy and access level configuration. Workflows are for the exceptions, covered in optional workflow automation below.

Before you begin

Before starting, make sure you have:
  • An identity provider integration (Okta, Google Workspace, or Microsoft Entra ID) for automated provisioning
  • An understanding of your organization’s application catalog and which apps require access management
  • A clear picture of who should approve access, so you can turn that into approval templates
  • (Optional) An AI agent deployed to a Slack channel for conversational requests

Step 1: Import or create applications

Applications are the foundation of access provisioning. You can sync them from your identity provider or create them manually.
1

Sync applications from your identity provider

Navigate to Settings > Integrations, connect your identity provider (Okta, Google Workspace, or Microsoft Entra ID), and enable application syncing. Applications and their groups import automatically.
2

Create applications manually

Navigate to Settings > Applications, click Add Application, and fill in the name, domain, owner, approver, and workspaces. Save the application when complete.
Start with your most-requested applications. You can always add more later.

Step 2: Create approval templates

Approval templates define who approves an access request and in what order. Create them first, because access policies reference them.
1

Navigate to approval templates

Go to Settings > Approval Templates.
2

Click New Template

Click New Template to open the template form.
3

Configure template details

Fill in the following fields:
  • Name: A descriptive label such as “Manager approval” or “Security access review”
  • Description: When this template should be used
  • Workspaces: Which workspaces can use this template. Leave empty to make it available everywhere.
4

Add approval rounds

Add one round per approval stage. For each round, set:
  • Policy: Any can approve or All must approve
  • Approvers: Specific users, user groups, or dynamic roles such as the requester’s manager
5

Save the template

Save the template. It is now available to attach to an access policy.
Create one template per approval path you need. A typical setup looks like this:
Use the Requester’s manager dynamic approver rather than naming individuals. It resolves at request time, so the template keeps working as your org chart changes.
Learn about approval templates

Step 3: Create access policies

Access policies define who can request access and under what conditions. Each policy attaches one approval template, which is how requests get routed.
1

Navigate to the Policies tab

Go to Settings > Applications and open the Policies tab.
2

Click New Policy

Click New Policy to create a new policy.
3

Configure policy details

Fill in the following fields:
  • Name: A descriptive label such as “Standard access” or “Privileged access review”
  • Description: When this policy should be used
  • Eligible groups: Which user groups can request access under this policy. Leave empty to allow all users.
  • Ineligible groups: Which user groups are explicitly excluded
  • Approval template: The template you created in Step 2. Leave blank only if requests under this policy should be approved automatically.
  • Access Duration: How long access granted under this policy lasts. See the table below.
  • Business Justification: Toggle on if requesters must explain why they need access
4

Save the policy

Save the policy. You attach it to access levels in the next step.

Choosing an access duration

Durations use short-form notation: m for minutes, h for hours, d for days.
A policy with no approval template auto-approves every request that passes its eligibility check. Attach a template to any policy that needs a human decision.
Create a policy for each combination of eligibility and approval rigor you need. Because a single policy can be shared across access levels in different applications, a handful of policies usually covers an entire catalog.
Learn about access policies

Step 4: Define access levels

Access levels represent the permission tiers within each application, such as Admin, Editor, or Viewer. Each level attaches an access policy and specifies how access is provisioned.
1

Open an application

Navigate to Settings > Applications and open the application you want to configure.
2

Go to the Access Levels tab

Select the Access Levels tab on the application detail page.
3

Click Add Access Level

Click Add Access Level to begin configuring a new tier.
4

Name and describe the level

Set the Name to a descriptive label such as “Admin”, “Editor”, or “Viewer”, and use Description to explain what this level grants and when it should be requested.
5

Attach an access policy

Select the Access Policy that should govern this level. This is what determines eligibility and pulls in the approval template you configured in Step 2.
6

Choose the provisioning method

Set Provisioning Method to control how access is granted after approval. See the table below for which to pick.
7

Map to your identity provider group

For Group provisioning, select the corresponding group in your identity provider. This is how Ravenna knows which group to add the user to after approval.
8

Repeat for each permission tier

Add an access level for every permission tier your application supports. Levels with different approval requirements should point at different access policies.

Choosing a provisioning method

Group and Application are the methods that give you end-to-end automation. Reach for Workflow only when the provisioning itself needs custom logic.

Step 5: Configure the request form

The form is how users submit access requests, and it is also what your AI agent presents. Create one form for access requests and let the field configuration adapt it per requester.
1

Create or open a form

Go to Forms and create a new form (or edit an existing one).
2

Add an Application Select field

Add an Application Select field. This lets users choose from the applications in your catalog.
3

Add an Access Level Select field

Add an Access Level Select field. This field dynamically shows the access levels available for the selected application, filtered by the requester’s eligibility.
4

Add a Business Justification field

Add a Business Justification text area field. It renders only for access levels whose policy requires a justification, and it is required whenever it renders.
5

Add a Duration field

Add a Duration field. It renders only for access levels whose policy uses Requester picks a duration, and it is required whenever it renders. Levels on a fixed duration or no expiry hide it automatically.
6

Save and publish the form

Save your form and publish it so it is available to users.
The Access Level Select field is dependent on the Application Select field. It only shows access levels for the selected application, filtered by the requester’s eligibility based on the attached access policy.
Add both the Business Justification and Duration fields even if only some policies need them. The access policy decides whether each one appears, so you do not need a separate form per policy.
One form covers your whole catalog. Because eligibility filtering and policy-driven fields both resolve per requester, two people opening the same form see different applications, different access levels, and different fields.

Step 6: Enable agent-assisted requests

Once your form is published, you can enable your AI agent to handle access requests conversationally through Slack. The agent fills out and submits the form you built in Step 5, so it inherits the same eligibility filtering, approval routing, and provisioning.
1

Open your agent

Navigate to Agents in the sidebar and select the agent you want to configure.
2

Go to the Identity tab

Select the Identity tab on the agent configuration page.
3

Enable Software Access Requests

Scroll to the Advanced Settings card and toggle Software Access Requests on. This exposes eligibility-aware tools to the agent.
4

Create agent rules for access request scenarios

Add rules to guide the agent’s behavior, for example: “When a user asks for software access, present the Software Access Request form and prefill the application and access level from what they described.”
5

Deploy the agent to your Slack channel

Deploy the agent to your Slack channel so users can submit access requests conversationally.
The agent needs a published access request form to work with. It does not have a built-in form of its own, so complete Step 5 before enabling this.
Requests submitted through the Ravenna API or an MCP client are different. They do not need a form you built, because Ravenna creates and reuses a Software Access Request form in the target workspace. It appears in Forms with a System badge and is marked Managed by Ravenna, so it cannot be edited. Leave it in place.

Step 7: Test the flow

Validate the complete setup before rolling it out to your organization.
1

Submit a test request

Submit a test access request via the form or through the agent.
2

Verify approval routing

Confirm that the access policy’s approval template was applied to the ticket and that the expected approvers were notified.
3

Approve and verify provisioning

Approve the request and confirm that provisioning occurs. For synced applications, check the identity provider to verify the user was added to the correct group.
4

Confirm the entitlement is created

Verify that the entitlement appears in the Entitlements tab on the relevant application.
5

Test manual provisioning

For access levels using Manual provisioning, test the flow by marking the entitlement as provisioned after granting access in the target system.
Test with a real requester from an eligible group, not just an admin account. Eligibility filtering is the part most likely to surprise you.

Optional workflow automation

Your access provisioning setup is complete without any workflows. Add one only when you need behavior the policy and access level configuration cannot express:
  • Custom provisioning logic: set an access level’s provisioning method to Workflow and build a workflow that performs the provisioning steps, such as calling an external API or chaining several systems together.
  • Post-provisioning follow-up: use the Entitlement Status Changed trigger to send a confirmation message, alert on provisioning failures, or notify a team when access is revoked.

Next steps

Monitor entitlements

Track active access grants and handle provisioning failures.

Refine policies

Adjust eligibility and duration options based on usage patterns.

Add more applications

Expand your catalog as teams request additional tools.

Tune approval templates

Add rounds or dynamic approvers as your approval requirements evolve.
Last modified on August 5, 2026