# 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
```

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 `