View as Markdown
PostgreSQL icon

PostgreSQL ACTION

Upsert Row

Adds a new row or updates an existing row. See the documentation
  • Action
  • Writes data
  • Destructive
  • API key
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's PostgreSQL account once, then configure and run Upsert Row from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "postgresql-upsert-row",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    postgresql: { authProvisionId: "apn_xxxxxxx" },
    schema: "Schema",
    table: "Table",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Upsert Row inputs
Property Type Description
schema Schema string
Database schema
Required Dynamic
table Table string
Database table
Required Dynamic
conflictTarget Conflict Target string
If insert fails, update the row with the same value in this column.
Required Dynamic
rowValues Row Values object
JSON representation of your table row values. For example: { "product_name": "Laptop Pro 15", "price": 1200.50, "stock_quantity": 50 }
Required

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
postgresql-upsert-row
Version
2.0.9
App
PostgreSQL
Authentication
API key
Read-only
No
Destructive
Yes
Open world
Yes