Notion Query

Notion Query

Certified

Query a Notion database

Queries a Notion database with optional filter and sort criteria. Returns the matching rows as raw Notion page objects.

yaml
type: io.kestra.plugin.notion.database.Query

Query a database and store results in internal storage

yaml
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

yaml
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

Database ID

Notion database identifier; both UUID and 32-character hex formats are accepted.

Notion API token

The Notion API integration token (Internal Secret connection)

DefaultSTORE
Possible Values
STOREFETCHFETCH_ONENONE

Fetch 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

A Notion filter object applied to the query. See the Notion API filter reference for the full schema.

The HTTP client configuration

Definitions
allowFailedbooleanstring
Defaultfalse

If true, allow a failed response code (response code >= 400)

allowedResponseCodesarray
SubTypeinteger

List of response code allowed for this request

auth

The authentication to use.

type*Requiredobject
passwordstring

The password for HTTP basic authentication.

usernamestring

The username for HTTP basic authentication.

type*Requiredobject
tokenstring

The token for bearer token authentication.

type*Requiredobject
passwordstring

The password for HTTP Digest authentication.

usernamestring

The username for HTTP Digest authentication.

basicAuthPasswordDeprecatedstring

The password for HTTP basic authentication. Deprecated, use auth property with a BasicAuthConfiguration instance instead.

basicAuthUserDeprecatedstring

The username for HTTP basic authentication. Deprecated, use auth property with a BasicAuthConfiguration instance instead.

connectTimeoutDeprecatedstring
Formatduration

The time allowed to establish a connection to the server before failing.

connectionPoolIdleTimeoutDeprecatedstring
Formatduration

The time an idle connection can remain in the client's connection pool before being closed.

defaultCharsetstring
DefaultUTF-8

The default charset for the request.

enabledTcpExtendedKeepAlivebooleanstring
Defaulttrue

Whether 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.

followRedirectsbooleanstring
Defaulttrue

Whether redirects should be followed automatically.

logLevelDeprecatedstring
Possible Values
ALLTRACEDEBUGINFOWARNERROROFFNOT_SPECIFIED

The log level for the HTTP client.

logsarray
SubTypestring
Possible Values
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODY

The enabled log.

maxContentLengthDeprecatedinteger

The maximum content length of the response.

proxy

The proxy configuration.

addressstring

The address of the proxy server.

passwordstring

The password for proxy authentication.

portintegerstring

The port of the proxy server.

typestring
DefaultDIRECT
Possible Values
DIRECTHTTPSOCKS

The type of proxy to use.

usernamestring

The username for proxy authentication.

proxyAddressDeprecatedstring

The address of the proxy server.

proxyPasswordDeprecatedstring

The password for proxy authentication.

proxyPortDeprecatedinteger

The port of the proxy server.

proxyTypeDeprecatedstring
Possible Values
DIRECTHTTPSOCKS

The type of proxy to use.

proxyUsernameDeprecatedstring

The username for proxy authentication.

readIdleTimeoutDeprecatedstring
Formatduration

The time allowed for a read connection to remain idle before closing it.

readTimeoutDeprecatedstring
Formatduration

The maximum time allowed for reading data from the server before failing.

ssl

The SSL request options

insecureTrustAllCertificatesbooleanstring

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.

timeout

The timeout configuration.

connectTimeoutstring

The time allowed to establish a connection to the server before failing.

readIdleTimeoutstring
DefaultPT5M

The time allowed for a read connection to remain idle before closing it.

Default100

Page size

Maximum number of results per page (1-100). Defaults to 100.

Reference (ref) of the pluginDefaults to apply to this task.

SubTypeobject

Sorts

A list of sort objects controlling result ordering. Each entry must have a property and a direction (ascending or descending).

Start cursor

Pagination cursor returned by a previous query to fetch the next page of results.

Has more

Whether more results are available beyond this page.

Next cursor

Cursor to pass as startCursor to fetch the next page; null when there are no more results.

Row

The first raw Notion page object matching the query. Only populated when fetchType is FETCH_ONE.

SubTypeobject

Rows

List of raw Notion page objects matching the query. Only populated when fetchType is FETCH.

Size

Number of rows returned in this page of results.

Formaturi

URI

Internal storage URI containing the query results in Ion format. Only populated when fetchType is STORE.