Is it possible to link a Notion integration to a specific page?

I’ve set up a Notion integration using the free version and I’m trying to connect it to a specific page in my workspace. But I’m running into some issues.

When I click the ‘invite’ button on the page, I don’t see any option to add my integration. There’s no ‘select an invitation’ guide or anything like that.

I’m wondering if this is a limitation of the free plan or if I’m missing something. Has anyone else managed to do this without upgrading? Are there any workarounds?

I’ve looked through the documentation but I’m still stumped. Any help would be really appreciated!

// Example code snippet
function linkIntegration(targetPageId) {
  try {
    const targetPage = fetchNotionPage(targetPageId);
    const customIntegration = initializeIntegration();
    targetPage.attachIntegration(customIntegration);
    console.log('Integration linked successfully');
  } catch (err) {
    console.error('Error linking integration:', err);
  }
}

This is really frustrating. Is there a special trick I’m overlooking?

I’ve been through this exact same frustration, and I finally figured it out after some trial and error. The key is to use the internal integration feature, not the external one.

Here’s what worked for me:

  1. Go to Settings & Members in your Notion workspace
  2. Click on Integrations
  3. Find your integration and copy its Internal Integration Token
  4. Use this token in your API requests

The catch is that internal integrations automatically have access to all pages in your workspace. You don’t need to explicitly invite them to specific pages.

For your code, you’d use the token like this:

const notion = new Client({ auth: INTERNAL_INTEGRATION_TOKEN });

Hope this helps! Let me know if you run into any other roadblocks.

hey, i had the same issue! turns out u need to share the page with ur integration’s email address. it’s like [email protected] or something. try that and see if it works. good luck!

I’ve encountered this issue before, and it’s not actually related to the free plan. The solution is to use the internal integration method, which gives your integration access to all pages in your workspace by default.

To set this up, navigate to Settings & Members in your Notion workspace, then go to the Integrations tab. Locate your integration and copy its Internal Integration Token. You’ll use this token in your API requests instead of trying to invite the integration to specific pages.

Modify your code to use the token like this:

const notion = new Client({ auth: YOUR_INTERNAL_INTEGRATION_TOKEN });

This approach simplifies the process and eliminates the need for individual page invitations. Just remember to keep your token secure, as it provides access to your entire workspace.