Dify’s self-built version is connected to the Notion knowledge base for complete troubleshooting records

From provider not found to eventual success, a classic error was encountered when enabling the Notion knowledge base in a self-built Dify environment:

provider not found

This issue is more common especially if you deploy it yourself using Docker Compose. This article documents my journey from discovering issues, troubleshooting steps, and finally successfully integrating into Notion, hoping to help others encountering similar issues.

1. Background of the problem

Using Dify deployed by Docker Compose, both the API and WEB versions are up to date:

  • dify-api:1.9.2
  • dify-web:1.9.2

But when trying to hook up Notion in the Dify knowledge base, I keep getting a prompt:

provider not found

Even if the Notion configuration item has been .env set up in and the Integration Token is configured, it still cannot be connected normally.

2. Preliminary investigation: confirm service status

I first looked at the container that is currently running:

sudo docker compose ps

The output is as follows:

docker-plugin_daemon-1 langgenius/dify-plugin-daemon:0.3.3-local
docker-api-1 langgenius/dify-api:1.9.2
docker-web-1 langgenius/dify-web:1.9.2
...

A very critical point emerges here:

The version of plugin_daemon is: 0.3.3-local (local build)

And API / WEB / WORKER is already version 1.9.2 .

Version mismatch is the underlying problem.

3. In-depth investigation: Check the plugin-daemon logs

I check the Notion related logs:

sudo docker compose logs plugin_daemon --tail=200 | grep notion

The output shows that the Notion plugin loads normally:

new plugin logged in: langgenius/notion_datasource:0.1.13
plugin langgenius/notion_datasource:0.1.13 started

This proves that plugin_daemon is running the plugin and is not hanging.

However, because plugin-daemon is 0.3.3-local, it is a very old version, and Notion Provider is a new plugin that was added later.

This leads to:

  • API 1.9.x → supports the Notion Data Source plugin
  • plugin-daemon 0.3.3 → not fully supported/incompatible
  • The knowledge base hook reports → provider not found

This explains why the plugin “seems to start” but the knowledge base still can’t import into Notion.

4. Key reason: The version system is independent

This is very important:

Componentsversion system
API / WEB / WORKER1.x series
plugin-daemon0.x Series (Standalone Release)
notion_datasource Plugins0.x series

Therefore:

  • plugin-daemon is not upgraded with the API
  • plugin-daemon:1.9.2 This image does not exist
  • If you use an older plugin-daemon, you will get the provider not being found

 docker compose pull Appears:

manifest for langgenius/dify-plugin-daemon:1.9.2 not found

This further proves that plugin-daemon doesn’t have a 1.x version at all.

5. Solution: Upgrade plugin-daemon to the latest 0.x official version

The most critical step is docker-compose.yml to change the plugin-daemon image to the latest version.

For example:

plugin_daemon:
 image: langgenius/dify-plugin-daemon:0.4.3

Or use the latest version:

plugin_daemon:
 image: langgenius/dify-plugin-daemon:latest

After that:

sudo docker compose pull
sudo docker compose down
sudo docker compose up -d

The updated plugin-daemon automatically loads the latest datasource plugins, including:

  • langgenius/notion_datasource
  • langgenius/notion

And fully compatible with API 1.9.x.

6. Complete the plug-in configuration (otherwise it still cannot be imported)

After the plugin upgrade is successful, you also need to go to the Dify background to complete the configuration:

Path:

Dify 控制台 → Plugins(扩展) → Notion Data Source → Configure

Must be filled in:

  • Integration Type: internal
  • Notion Internal Secret: secret_xxxxxxxx

Save.

⚠ This is the plugin’s own configuration, and it has nothing to .env do with it, nor is it filled in the knowledge base.

7. Create a new knowledge base (important)

Finally, create a new one in the knowledge base and select:

✔ Notion Data Source (plugin).
❌ Don’t choose the old “Notion” (that’s a legacy of history)

Fill in the Page ID → test the connection → the import is successful.

8. Summary: the core point of the whole problem

After a complete investigation, I came to the ultimate essential cause of this problem:

API/WEB upgraded to 1.9.2, but plugin-daemon is still the old version 0.3.3-local.

Resulted in:

  • Notion plugins are not compatible
  • provider not found
  • No matter how you fill in the token or page ID, it cannot be hooked properly

The fix is very simple:

把 plugin-daemon 升级到最新版本即可

9. Final work instructions (can be pasted directly)

1. Edit the compose file:

plugin_daemon:
 image: langgenius/dify-plugin-daemon:0.4.3

2. Restart:

sudo docker compose pull
sudo docker compose down
sudo docker compose up -d

3. Configure the plugin:

Dify → Plugins → Notion Data Source → Configure

4. Create a new knowledge base (requires the plugin version of Notion Data Source)

Finish: Now you have a fully reproducible solution

This whole set of investigation process starts from:

  • Initial error
  • Container inspection
  • Version comparison
  • Plugin log confirmation
  • to the final upgrade fix

Tubing:

Scroll to Top