For an introduction to Action Access Requests, see Action Access Requests Overview.
Enabling Action Access Requests
Via Web App
Configure Approvers
Select which groups can approve commands:
- Click Add Group
- Select one or more groups
- Groups members will receive approval notifications
Via CLI
Enable Action Access Requests when creating a connection:--reviewers flag specifies which groups can approve commands.
Add reviewers to an existing connection:
Approval Group Configuration
Single Approver Group
When one group is configured, any member of that group can approve:dba-team can approve or reject.
Multiple Approver Groups
When multiple groups are configured, all groups must approve:- Request requires 1 approval from
dba-teamAND 1 approval fromsecurity-team - Either group can reject the request
- Request stays pending until all groups approve
Exempt Groups
Admin users automatically approve their own requests. To test the full workflow, use a non-admin account.Timeout Configuration
Set how long to wait for approval before the request expires.Gateway Environment Variable
| Value | Duration | Use Case |
|---|---|---|
300 | 5 minutes | Quick ad-hoc queries |
1800 | 30 minutes | Standard operations |
3600 | 1 hour | Complex procedures |
7200 | 2 hours | Long approval chains |
What Happens on Timeout
When a request times out:- Status changes to EXPIRED
- User sees a timeout error
- Command is not executed
- User must resubmit the command
Notification Configuration
Slack Integration
To receive and approve requests in Slack:- Configure the Slack integration
- Enable the
slackplugin on your connection:
- Approvers subscribe with
/hoop subscribein Slack - Access requests appear as interactive messages with Approve/Reject buttons
Microsoft Teams Integration
To receive notifications in Teams:- Configure the Teams integration
- Enable the
webhooksplugin - Notifications are sent to the configured Teams channel
Custom Webhooks
For custom integrations:- Configure webhook endpoint in Integrations > Webhooks
- Receive POST requests for new access requests
- Call the API to approve/reject:
Common Configurations
Production Database - DBA Approval
Only DBAs can approve production database commands:Sensitive Operations - Dual Approval
Require both DBA and Security approval:Read-Only with Approval
Approval for read access to sensitive data:Combining with Other Features
Action + Guardrails
Use both for defense in depth:- Guardrails: Automatically block obviously dangerous commands
- Action: Require approval for everything else
DROP TABLE, but DELETE still requires approval.
Action + Live Data Masking
Even approved queries show masked results:- Approver sees the command being run
- User sees masked results after execution
- PII is protected even from approved queries
Action + Access Control
Access Control determines visibility; Action adds approval:| Access Control | Action | Result |
|---|---|---|
| Not allowed | Any | Connection not visible |
| Allowed | Disabled | Direct execution |
| Allowed | Enabled | Each command needs approval |
Monitoring Access Requests
Viewing Pending Requests
Web App:- Go to Access Requests in the sidebar
- Filter by Status: Pending
- Click any request to see details
Access Request Analytics
Track approval patterns:| Metric | How to Find |
|---|---|
| Average approval time | Access Requests > Export > Calculate |
| Approval rate | Count approved vs rejected |
| Top requesters | Group by user |
| Common commands | Group by command pattern |
Audit Trail
Every access request is logged with:- Who requested
- What command
- Who approved/rejected
- When each action occurred
- Full command output (if approved)
Troubleshooting
Notifications Not Arriving
Check Slack:- Slack app is installed correctly
- Connection has
slackplugin enabled - Approver has run
/hoop subscribe - Notification channel is configured
- Webhook URL is valid
webhooksplugin is enabled- Teams channel allows incoming webhooks
Requests Auto-Approved
Admin users auto-approve their own requests. This is expected behavior. To test the full workflow:- Use a non-admin test account
- Or create a connection where the admin is NOT in the approvers group
Request Times Out Too Quickly
Increase the timeout:Can’t Find Pending Request
Check:- Request hasn’t already expired
- You’re looking at the correct connection
- Filter is set to show Pending status
Environment Variables
| Variable | Description | Default |
|---|---|---|
REVIEW_TIMEOUT_SEC | Seconds before request expires | 3600 |