Skip to content

PostgreSQL

PostgreSQL relational database — query, insert, update, and delete data.

PropertyValue
Typedatabase
Authenticationbasic
CategoryGeneric
FieldTypeRequiredDescription
hoststringYesDatabase server hostname
portnumberNoPort (default: 5432)
databasestringYesDatabase name
usernamestringYesUsername
passwordstringYesPassword
sslbooleanNoEnable SSL
connection_stringstringNoFull connection string (overrides individual fields)

Execute a SELECT query with optional WHERE filters.

EndpointGET {table}
MethodGET

Insert a new row into a table.

EndpointPOST {table}
MethodPOST

Update rows matching WHERE conditions.

EndpointPUT {table}
MethodPUT

Delete rows matching WHERE conditions.

EndpointDELETE {table}
MethodDELETE

Execute a parameterized SQL query directly.

EndpointPOST raw
MethodPOST
flows/webhook-to-postgresql-status-update.yaml
flow: webhook-to-postgresql-status-update
version: 1
description: Receive a webhook, query PostgreSQL for matching records, and update status
source:
connector: generic-webhook
trigger: webhook
event: shipment.delivered
steps:
- name: find-order
target: postgresql-prod
action: query
mapping:
table: orders
where:
tracking_number: source.tracking_id
status: "shipped"
store_as: matched_orders
- name: update-status
target: postgresql-prod
action: update
when: matched_orders | length > 0
mapping:
table: orders
where:
id: matched_orders[0].id
set:
status: "delivered"
delivered_at: "" | now
carrier_status: source.carrier_status
- name: notify-customer
target: sendgrid-prod
action: send-email
when: matched_orders | length > 0
mapping:
to: matched_orders[0].customer_email
subject: "Your order has been delivered"
template_id: tmpl_delivery_confirmation
template_data:
order_number: matched_orders[0].order_number
delivered_at: "" | now | date("MMM D, YYYY")
on_error:
retry: 3x exponential(30s)
then: dead-letter