# Custom access request page > Let users request access to restricted dashboards through customized forms and workflows :::warning Custom Plans This feature is available in our custom plans. Please contact us to get access. ::: ## Introduction Ever had users message you frantically because they can't access a dashboard? With custom 403 pages, you can turn that dead-end "Access Denied" screen into something actually useful. Instead of users hitting a wall, you can: - **Send them to a request form** - Link to Google Forms, Jotform, whatever you use - **Show who to contact** - "Need the sales dashboard? Email sales-ops@company.com" - **Give them next steps** - Link to your wiki, ticket system, or training docs - **Pre-fill their info** - Their name, email, and the dashboard they need are already filled in ## Common use cases ### The "request access" button This is what most teams use. User can't see a dashboard? They click a button, fill out a form, done. You get notified and can approve it. ### "Here's how to get access" Some companies have specific processes - maybe you need to complete data training first, or submit a ticket through ServiceNow. Link directly to those resources so users can help themselves. ## Quick setup 1. Go to **Organization Settings** → **Custom 403 Page** 2. Grab one of the templates below (or write your own) 3. Replace the example links with your actual form URLs 4. Hit save That's it. Next time someone hits a restricted dashboard, they'll see your custom message instead of a generic error. ## Ready-to-use templates ### Template 1: "request access" button ```html 403 - Access Forbidden 403 - Access Forbidden You don't have permission to access this resource. Please request access to continue. Request Details User: {{USER_NAME}} Email: {{USER_EMAIL}} Company: {{TENANT_NAME}} Path: {{CURRENT_PATH}} Host: {{CURRENT_HOST}} Back to Dashboard Request Access ``` ![403 template preview](https://media.holistics.io/18710772-403-template-demo.png) Remember to replace the link in the Request Access button with the link to your form ```html Request Access ``` ### Template 2: connecting to form services Want to pre-fill the user's info in your form? Here's how to set that up with different services: #### Google Forms ```html Request via Google Forms ``` #### Jotform ```html Request via Jotform ``` #### Microsoft Forms ```html Request via Microsoft Forms ``` #### Typeform ```html Request via Typeform ``` ## Variables you can use These automatically fill in with the user's actual info: | Variable | Description | Example Output | |----------|-------------|----------------| | `{{ USER_NAME }}` | User's display name | "Jane Smith" | | `{{ USER_EMAIL }}` | User's email | "jane@company.com" | | `{{ TENANT_NAME }}` | Your organization | "Acme Corp" | | `{{ CURRENT_PATH }}` | Dashboard path | "/dashboards/sales-metrics" | | `{{ CURRENT_URL }}` | Full URL attempted | "https://app.holistics.io/dashboards/123" | | `{{ CURRENT_HOST }}` | Domain name | "app.holistics.io" | ### Heads up: URL encoding Some form services get confused by special characters in URLs. If your form isn't pre-filling correctly, try URL encoding: ```html Request Access ``` ## What works (and what doesn't) ### You can use: - HTML and CSS (inline or in `