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

# AccessDeniedCustomButton

<Card title="Recommended: JavaScript SDK with React Hooks" icon="react" color="#4779FE">
  For new React apps, we recommend the JavaScript SDK with React Hooks (`@dynamic-labs-sdk/react-hooks`) instead of the legacy React SDK documented here. The JS SDK comes with many benefits such as a much smaller bundle size and other optimizations. Use the [React quickstart (JavaScript SDK)](/javascript/reference/react-quickstart) to get started.
</Card>

An object containing custom text and action for access denied modal.

| Field                | Description                                               |
| :------------------- | :-------------------------------------------------------- |
| title: string;       | Defines the button's text.                                |
| action?: () => void; | Defines the action of the button when click is triggered. |

## Usage

```Text TypeScript theme={"system"}
<DynamicContextProvider
  settings={{
    accessDeniedMessagePrimary: 'Not authorized',
    accessDeniedMessageSecondary: 'Unfortunately you are not allowed to proceed.',
    accessDeniedButton: {
       action: () => window.open('https://www.mywebsite.com/contact-us', '_blank'),
       title: 'Contact us',
    }
  }}
>
 {/* ... rest of your app ... */}
</DynamicContextProvider>
```
