
Notion Query
CertifiedQuery a Notion database
Notion Query
Query a Notion database
Queries a Notion database with optional filter and sort criteria. Returns the matching rows as raw Notion page objects.
type: io.kestra.plugin.notion.database.QueryExamples
Query a database and store results in internal storage
id: notion_query_database
namespace: company.team
tasks:
- id: query_db
type: io.kestra.plugin.notion.database.Query
apiToken: "{{ secret('NOTION_API_TOKEN') }}"
databaseId: "12345678-1234-1234-1234-123456789abc"
filter:
property: "Status"
select:
equals: "Done"
sorts:
- property: "Created"
direction: "descending"
pageSize: 50
fetchType: STORE
Query a database and fetch all rows inline
id: notion_query_database_fetch
namespace: company.team
tasks:
- id: query_db
type: io.kestra.plugin.notion.database.Query
apiToken: "{{ secret('NOTION_API_TOKEN') }}"
databaseId: "12345678-1234-1234-1234-123456789abc"
fetchType: FETCH
Properties
databaseId *Requiredstring
Database ID
Notion database identifier; both UUID and 32-character hex formats are accepted.
apiToken string
Notion API token
The Notion API integration token (Internal Secret connection)
fetchType string
STORESTOREFETCHFETCH_ONENONEFetch type
Controls how query results are delivered.
STORE writes rows to Kestra's internal storage and returns a URI (best for large datasets).
FETCH returns all rows directly in the output.
FETCH_ONE returns only the first row.
NONE skips returning row data entirely.
filter object
Filter
A Notion filter object applied to the query. See the Notion API filter reference for the full schema.
options Non-dynamic
The HTTP client configuration
io.kestra.core.http.client.configurations.HttpConfiguration
falseIf true, allow a failed response code (response code >= 400)
List of response code allowed for this request
The authentication to use.
io.kestra.core.http.client.configurations.BasicAuthConfiguration
The password for HTTP basic authentication.
The username for HTTP basic authentication.
io.kestra.core.http.client.configurations.BearerAuthConfiguration
The token for bearer token authentication.
io.kestra.core.http.client.configurations.DigestAuthConfiguration
The password for HTTP Digest authentication.
The username for HTTP Digest authentication.
The password for HTTP basic authentication. Deprecated, use auth property with a BasicAuthConfiguration instance instead.
The username for HTTP basic authentication. Deprecated, use auth property with a BasicAuthConfiguration instance instead.
durationThe time allowed to establish a connection to the server before failing.
durationThe time an idle connection can remain in the client's connection pool before being closed.
UTF-8The default charset for the request.
java.nio.charset.Charset
trueWhether to enable TCP Keep-Alive extended socket options (TCP_KEEPIDLE, TCP_KEEPINTERVAL, TCP_KEEPCOUNT).
Set to false when running on Windows workers, as these extended socket options are not supported by the Windows JDK and will cause connection failures.
trueWhether redirects should be followed automatically.
ALLTRACEDEBUGINFOWARNERROROFFNOT_SPECIFIEDThe log level for the HTTP client.
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODYThe enabled log.
The maximum content length of the response.
The proxy configuration.
io.kestra.core.http.client.configurations.ProxyConfiguration
The address of the proxy server.
The password for proxy authentication.
The port of the proxy server.
DIRECTDIRECTHTTPSOCKSThe type of proxy to use.
The username for proxy authentication.
The address of the proxy server.
The password for proxy authentication.
The port of the proxy server.
DIRECTHTTPSOCKSThe type of proxy to use.
The username for proxy authentication.
durationThe time allowed for a read connection to remain idle before closing it.
durationThe maximum time allowed for reading data from the server before failing.
The SSL request options
io.kestra.core.http.client.configurations.SslOptions
Whether to disable checking of the remote SSL certificate.
Only applies if no trust store is configured. Note: This makes the SSL connection insecure and should only be used for testing. If you are using a self-signed certificate, set up a trust store instead.
The timeout configuration.
io.kestra.core.http.client.configurations.TimeoutConfiguration
The time allowed to establish a connection to the server before failing.
PT5MThe time allowed for a read connection to remain idle before closing it.
pageSize integerstring
100Page size
Maximum number of results per page (1-100). Defaults to 100.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
sorts array
Sorts
A list of sort objects controlling result ordering.
Each entry must have a property and a direction (ascending or descending).
startCursor string
Start cursor
Pagination cursor returned by a previous query to fetch the next page of results.
Outputs
hasMore boolean
Has more
Whether more results are available beyond this page.
nextCursor string
Next cursor
Cursor to pass as startCursor to fetch the next page; null when there are no more results.
row object
Row
The first raw Notion page object matching the query.
Only populated when fetchType is FETCH_ONE.
rows array
Rows
List of raw Notion page objects matching the query.
Only populated when fetchType is FETCH.
size integer
Size
Number of rows returned in this page of results.
uri string
uriURI
Internal storage URI containing the query results in Ion format.
Only populated when fetchType is STORE.