Configuration¶
LangChain Notion Tools reads configuration from environment variables, keyword arguments, or a
pre-built NotionClientSettings instance. This page summarizes the available options.
Required variables¶
| Environment variable | Description |
|---|---|
NOTION_API_TOKEN |
Required integration token for all operations. |
Optional variables¶
| Environment variable | Description |
|---|---|
NOTION_DEFAULT_PARENT_PAGE_ID |
Default page or database where new pages should be created when no explicit parent is supplied. |
NOTION_API_TIMEOUT |
Optional override for HTTP timeout (seconds). Defaults to 30. |
NOTION_API_MAX_RETRIES |
Optional override for retry attempts on transient failures. Defaults to 3. |
Settings are validated using Pydantic and invalid values trigger
NotionConfigurationError with actionable hints.
HTTP settings¶
The underlying Notion SDK uses httpx. You can pass custom client options through the
client_kwargs/async_client_kwargs parameters of create_client_bundle, create_sync_client,
or create_async_client if you need to tweak retry or timeout behaviour.
from langchain_notion_tools import create_client_bundle
clients = create_client_bundle(
api_token="...",
client_kwargs={"timeout": 15},
async_client_kwargs={"timeout": 30},
)
Logging¶
The package uses the standard library logging module. Tokens are redacted by default. Enable
verbose logging when troubleshooting:
import logging
logging.basicConfig(level=logging.DEBUG)
CLI configuration¶
The CLI commands (notion-search and notion-write) respect the same environment variables. A
.env file is loaded automatically when you run the examples in the examples/ folder.