Sync triggers
Get a sync trigger
Read one trigger of a sync with its stored action.
Authorization
AuthorizationstringheaderrequiredBearer <key>, where <key> is a workspace API key or a user API key. See Authentication.
workspace_id*integerThe workspace the resources belong to
base_id*stringThe sync (a sync is called a base in these paths)
uuidtrigger_id*stringThe trigger
region*stringData region of the sync
"besg""usnv"The trigger
application/json- response
One trigger
trigger*A trigger of the sync as the read routes answer it
msg*stringTrigger retrieved successfully
curl -X GET 'https://api.stacksync.com/v1/workspaces/0/bases/497f6eca-6276-4993-bfeb-53cbbbba6f08/triggers/string?region=besg'{ "trigger": { "id": "0d1e2f3a-4b5c-4d6e-9f70-1a2b3c4d5e6f", "name": "Notify on new customer accounts", "trigger_type": "webhook", "table": "Account", "column_names_from_app": "salesforce", "operations": [ "created", "updated" ], "source": [ "salesforce" ], "columns_to_ignore": [ "Website" ], "filters": { "type": "group", "operator": "and", "conditions": [ { "type": "condition", "column": "Type", "operator": "eq", "value": "Customer" }, { "type": "group", "operator": "or", "conditions": [ { "type": "condition", "column": "Rating", "operator": "eq", "value": "Hot" }, { "type": "condition", "column": "Website", "operator": "has_ch", "value": "" } ] } ] }, "is_paused": false, "action": { "body": "{\"url\": \"https://hooks.example.com/accounts\", \"method\": \"POST\", \"headers\": [\"Content-Type: application/json\"], \"data\": {\"record\": \"<<data>>\", \"changes\": \"<<changes>>\"}}", "task_type": "http_request", "options": { "base_id": "3f6c1d2e-8a4b-4c7d-9e21-5b6f7a8c9d01", "trigger_id": "0d1e2f3a-4b5c-4d6e-9f70-1a2b3c4d5e6f" }, "created_time": "Thu, 01 Oct 2026 09:12:44 GMT", "task_name": null, "workspace_id": 2790, "base_name": "Salesforce accounts to Postgres", "task_metadata_id": "b1c2d3e4-f5a6-4b7c-8d9e-0f1a2b3c4d5e" } }, "msg": "Trigger retrieved successfully"}GETList sync triggers
List the triggers of a sync with their stored actions. A trigger whose stored action no longer exists is left out.
POSTCreate a sync trigger
Add a trigger to a sync: when a record of the chosen table is created, updated or deleted in a source app and passes the filters, the action runs with the record (`<<data>>`) and its changes (`<<changes>>`). Send `validate_only: true` to run every check without storing.