Integrations
Notion
Tidal Control's Notion integration reads the sharing and membership state of your Notion workspace for compliance purposes. It authenticates with an internal integration key, and the checks focus on the ways a workspace quietly leaks information: pages published to the web, content left in trash, and integrations owned by individuals.
What this integration monitors
- Public pages: Pages published to the web, readable by anyone with the URL
- Trash: Pages left in trash rather than actually removed
- Personal bot integrations: Integrations owned by an individual instead of the workspace
- Inline databases: Databases embedded inline, where permissions are easy to lose track of
- Users without email: Accounts with no email address recorded
Requirements
- Super User role in Tidal Control
- Notion workspace owner access, to create an internal integration
- Ability to share the pages you want covered with that integration
Configuration step-by-step plan
We'll create an internal integration in Notion, connect it to the content you want covered, then add the connection in Tidal Control.
Configuration steps:
- Create an internal integration
- Give it access to your content
- Configure the integration in Tidal Control
Step 1: Create an internal integration
- Go to notion.so/my-integrations
- Click New integration, name it, for example
Tidal Control, and associate it with your workspace - Keep the capabilities read-only: Read content and Read user information are enough
- Copy the Internal Integration Secret
Step 2: Give it access to your content
Notion integrations see nothing until content is explicitly shared with them.
- Open a top-level page you want covered
- Use the page menu → Connections → add your
Tidal Controlintegration - Repeat for each top-level page whose subtree you want included
Notion grants access per page, not per workspace. An integration key with no pages connected authenticates successfully and returns nothing, so the checks would evaluate an empty workspace. Connect your top-level pages so the results reflect real content.
Step 3: Configure the integration in Tidal Control
- Go to Settings → Integrations in Tidal Control
- Click the plus icon next to Notion
- Fill in the configuration:
- Name: A descriptive name, for example
Notion - API key: The internal integration secret from step 1
- Name: A descriptive name, for example
- Click "Create" to save the integration
Configuration fields explained
The integration dialog asks for the following values:
Name:
- A descriptive name for this connection
- For example:
Notion
API key:
- The internal integration secret from step 1
- Required, and stored as a secret
Verification
The integration is working when all of the following are true:
- Settings → Integrations shows Notion under Configured Integrations
- Notion tests are available in the Tests section
- Results list real pages rather than an empty workspace
Frequently asked questions
Why do results look empty? Almost always because no pages are connected to the integration. Notion shares content with integrations per page, so step 2 is not optional.
Does Tidal Control read our page contents? It reads page metadata and sharing state, which is what the checks need. It does not mine page bodies for their text.
What is a personal bot integration, and why does it matter? An integration owned by one person rather than the workspace. It keeps working against your content after that person's role changes, so it is access nobody is reviewing.
Common problems
"API Key is required"
- The secret was not pasted. Copy it again from the integration page
Checks return no pages
- No content is connected. Add the integration under Connections on your top-level pages
A page you expected is missing
- Its subtree is not shared with the integration. Connect it, or connect a parent page
Still can't figure it out?
Send an email to support@tidalcontrol.com, and we'll get back to you as soon as possible.
Gather support info: Note which browser you're using, exact error messages, and which steps you've already tried. This speeds up the solution considerably.