Notion
Read Notion databases: each page is a row and its properties are columns.
Connect it in the console under Integrations > Connectors. See Connectors for how connectors work and who can use them.
Create a read-only credential
Section titled “Create a read-only credential”Create an internal integration in Notion (Settings > Connections > Develop or manage integrations) with the Read content capability, and copy its secret. Then open each database, choose … > Connections, and add the integration.
Settings
Section titled “Settings”| Setting | Notes | |
|---|---|---|
| Internal integration token | Required | Stored encrypted and never shown again. |
Tables
Section titled “Tables”| Table | Filters | Returns |
|---|---|---|
databases | start_cursor | Databases shared with the integration. |
pages | database_id (required), filter, start_cursor | Pages (rows) of one database, properties flattened. |
Query from the API
Section titled “Query from the API”curl -s -X POST "https://api.vaif.studio/database/connector/$VAIF_PROJECT_ID/query" \ -H "Authorization: Bearer $VAIF_TOKEN" -H "Content-Type: application/json" \ -d '{"wrapperId":"notion_fdw","table":"pages","filters":{"database_id":"0123456789abcdef0123456789abcdef","filter":"{\"property\":\"Status\",\"status\":{\"equals\":\"Published\"}}"},"limit":50}'$VAIF_TOKEN is a console access token. See Connectors for the routes.
How it stays read-only
Section titled “How it stays read-only”Give the integration the Read content capability only. filter takes Notion’s filter JSON, and properties come back flattened to plain values.