> ## 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] Recommended: JavaScript SDK with React Hooks
>
> 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)](https://docs.dynamic.xyz/docs/javascript/reference/react-quickstart.md) to get started.

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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.