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:
| Components | version system |
|---|---|
| API / WEB / WORKER | 1.x series |
| plugin-daemon | 0.x Series (Standalone Release) |
| notion_datasource Plugins | 0.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: