SQL Database
Create or update a recurring SQL database connector
Create or update a recurring SQL database connector. Generates a Bento pipeline with a sql_select (or sql_raw) input that polls PostgreSQL, MySQL, SQL Server, or Oracle on a configurable interval and streams rows to Kafka → Firestore. Credentials are NEVER stored in the config — they are resolved from environment variables at runtime via Secret Manager.
Technical details
Authentication ▾
Contact us for setup details.
Ingestion ▾
Tools exposed (1) ▾
Create or update a recurring SQL database connector. Generates a Bento pipeline with a sql_select (or sql_raw) input that polls PostgreSQL, MySQL, SQL Server, or Oracle on a configurable interval and streams rows to Kafka → Firestore. Credentials are NEVER stored in the config — they are resolved from environment variables at runtime via Secret Manager.
Inputs ▾
upsert_bento_sql_database
| Name | Type | Required | Description |
|---|---|---|---|
| dashboardId | string | no | Target dashboard/initiative ID. Omit to use the current dashboard. |
| connectorId | string | no | If provided, updates the existing connector instead of creating a new one. |
| connectorName | string | yes | Human-readable name for this connector, e.g. 'Production Postgres — orders table'. |
| driver | string | yes | Database driver: 'postgres' (PostgreSQL), 'mysql' (MySQL/MariaDB), 'mssql' (SQL Server), or 'oracle' (Oracle DB). postgres mysql mssql oracle |
| host | string | yes | Database server hostname or IP address, e.g. 'db.example.com' or '10.0.1.5'. |
| port | number | no | Database port. Defaults: postgres=5432, mysql=3306, mssql=1433, oracle=1521. |
| database | string | yes | Database (or schema) name to connect to. |
| usernameEnvVar | string | yes | Name of the environment variable that holds the database username, e.g. 'PG_USER'. The value is resolved from Secret Manager at pipeline runtime — never pass the username directly. |
| passwordEnvVar | string | yes | Name of the environment variable that holds the database password, e.g. 'PG_PASSWORD'. The value is resolved from Secret Manager at pipeline runtime — never pass the password directly. |
| table | string | no | Table (or view) to SELECT from. Required when 'query' is not provided. |
| columns | string[] | no | Columns to SELECT. Omit or pass ['*'] to select all columns. |
| where | string | no | SQL WHERE clause (without the WHERE keyword), e.g. "updated_at > now() - interval '1 hour'". |
| query | string | no | Raw SQL SELECT query. Use this instead of table/columns/where for complex queries. Example: "SELECT id, name, amount FROM orders WHERE status = 'active'". |
| pollingInterval | string | yes | How often Bento polls the database, e.g. '15m', '1h', '6h'. Use 'realtime' for the fastest practical rate (1m). |
| idExpression | string | no | Optional Bloblang expression for the Firestore document ID. Provide when the table has a stable unique key, e.g. 'this.id.string()' or 'this.order_id.string()'. |