Lowdefy
Concepts/Connections and Requests/

Connections and Requests

TLDR

  • connections define links to other services, like connecting to a database. They are defined at the root of the lowdefy configuration.
  • requests use connections to make a call to the connected external services.
  • Use the _secret operator to reference API keys or other secrets as required - do not code secrets into your config or commit secrets to your config source control.

In a Lowdefy app you can integrate with other services like API's or databases using connections and requests. Connections configure the connection settings to the service, and often contain parameters like connection strings, urls and secrets like passwords or API keys. Requests are used to interact with the connection, like inserting a data record, executing a query or calling a API end-point.

Sensitive information like passwords or API keys are often required to use external services. The _secret operator should be used to reference these secrets, they should never be coded directly in your app, or committed to source control.

Connections

Connections are defined at the root of your Lowdefy configuration, in the connections array. Each connection must have an id, a type, and properties defining the connection. Operators in connection properties are evaluated every time a request is called.

Connection Schema

The schema for a Lowdefy connection is:

  • id: string: Required - A unique identifier for the connection. This is used by requests to specify which connection to use.
  • type: string: Required - The connection type to be used.
  • properties: object: The settings passed to the connection. Operators are evaluated.
Connections definition example:
lowdefy: LOWDEFY_VERSION
connections:
  - id: connection1
    type: ConnectionType1
    properties:
      # ...
  - id: connection2
    type: ConnectionType2
    properties:
      # ...
pages:
  # ...

Our goal is to make connections for everything. As the Lowdefy community grows, we will continue to develop the most requested connections. If the connection you require is not supported yet, please head over to our new connections voting board to request and vote for new connections.

Requests

Requests can be defined on any block, and the results of the request are available to any block in the same context. Requests must have an id, type, connectionId field specifying the connection to use, and properties defining the request settings. Requests can be called using the Request action. Operators in request properties are evaluated every time a request is called.

Request Schema

The schema for a Lowdefy request is:

  • id: string: Required - A identifier for the request. It must be unique within the context the request is defined in.
  • type: string: Required - The request type to be used. It must be a type supported by the connection type.
  • connectionId: string: Required - The id of the connection that should be used.
  • properties: object: The settings passed to the request. Operators are evaluated.
Requests definition example:
id: block_with_requests
type: BlockType
requests:
  - id: request1
    type: RequestType1
    connectionId: connectionId1
    properties:
      # ...
  - id: request2
    type: RequestType2
    connectionId: connectionId2
    properties:
      # ...
properties:
  # ...