docs
EnglishChatigram website ↗Open Chatigram
Recipes

Send database changes to a webhook

Start on a selected row operation and notify an external endpoint, with separate success and error continuations.

Send database changes to a webhook Expand a node to see its configuration

Swipe sideways to explore the workflow branches.

  • TRIGGERDatabase Operation

    Example configuration

    {
      "databaseId": null,
      "tableId": null,
      "columns": [],
      "operations": [
        "CREATED"
      ]
    }
      • notifyExternal API integration

        Example configuration

        {
          "request": {
            "method": "POST",
            "path": [
              {
                "$tag": "Constant",
                "value": "https://business-api.example.invalid/events/database"
              }
            ],
            "headers": [
              {
                "key": "Content-Type",
                "value": [
                  {
                    "$tag": "Constant",
                    "value": "application/json"
                  }
                ]
              }
            ],
            "queryStrings": [],
            "body": [
              {
                "$tag": "Constant",
                "value": "{\"operation\":\""
              },
              {
                "$tag": "Variable",
                "name": "trigger.operation"
              },
              {
                "$tag": "Constant",
                "value": "\"}"
              }
            ]
          },
          "responseHandlers": [
            {
              "$tag": "GetWholeAsString",
              "variableName": "response"
            }
          ]
        }
        • Success
          • deliveredSet Variable

            Example configuration

            {
              "variableValue": [
                {
                  "$tag": "Constant",
                  "value": "The notification request completed."
                }
              ]
            }
        • Error
          • deliveryFailureSet Variable

            Example configuration

            {
              "variableValue": [
                {
                  "$tag": "Constant",
                  "value": "Notification failed; check the destination before retrying."
                }
              ]
            }

This diagram follows the downloadable workflow. Edit and run it in Chatigram.Swipe the diagram to explore its branches.

Plan availability #

Feature Free Starter Pro Enterprise
Databases Not included 1 2 Unlimited
Active workflows 3 10 45 Unlimited

Allowances follow the published Chatigram pricing page. Your organization’s Billing & Plans screen confirms its subscription and current usage. Plans can change. Plan information reviewed 2026-11-10.

The business outcome #

Start on a selected row operation and notify an external endpoint, with separate success and error continuations.

This is an importable starter using Chatigram’s current native nodes. It needs destination-specific setup; it does not imply a dedicated connector for every CRM or ERP brand. Check your software’s API documentation and permissions.

Before you begin #

Choose the source database/table and operations, then configure the notification URL and its authorization. Add only the permitted record fields to your payload.

The reserved example.invalid endpoint is deliberately non-working. No real customer data, account credentials, or private resource identifiers are embedded. Keep the workflow disabled until setup is complete.

Configure the workflow #

  1. Choose the table in the Database Operation trigger and review the selected CREATED operation. Enable other operations only if you intend those notifications.
  2. Configure notify with your real destination endpoint. The initial payload contains only the operation name.
  3. Use the variable picker to add reviewed record information according to the destination’s schema. Do not send every customer field by default.
  4. If the destination writes back to this same table, add an event condition or duplicate-prevention rule to stop a notification loop.

Test the outcomes #

  • Create one disposable record and verify one notification.
  • Confirm updates do not trigger the example unless you deliberately enable UPDATED.
  • Check the receiver before retrying a failed request.

Open Workflow Activity after the test. Import validation checks the definition; it does not prove a remote API accepted the business operation. Check the destination before repeating a send or write.

Make it your own #

Put reusable public settings in Properties, configure credentials through the protected connection options, and keep explicit error paths. Explore App Connections for existing provider-specific actions you can substitute through the editor.

Use the copy controls below for the complete workflow or its first node. The diagram and downloads come from the same definition. Use Share recipe to share the guide’s public address.

READY TO CUSTOMIZE

Try this in Chatigram

Setup required. Choose the source database/table and operations, then configure the notification URL and its authorization. Add only the permitted record fields to your payload. Placeholder endpoints use example.invalid and cannot call a real business service. Keep the workflow disabled until you finish the setup and review its effects.

Download JSON
View workflow JSON
Workflow JSON
{
  "format": "chatigram-workflow",
  "version": 1,
  "metadata": {
    "sourceName": "Send database changes to a webhook",
    "importHelp": {
      "note": "Setup required. Choose the source database/table and operations, then configure the notification URL and its authorization. Add only the permitted record fields to your payload. Placeholder endpoints use example.invalid and cannot call a real business service. Keep the workflow disabled until you finish the setup and review its effects."
    }
  },
  "workflow": {
    "instruction": null,
    "multiLanguageSupport": null,
    "properties": [],
    "trigger": {
      "$tag": "Trigger",
      "type": "DATABASE_OPERATION",
      "data": {
        "databaseId": null,
        "tableId": null,
        "columns": [],
        "operations": [
          "CREATED"
        ]
      }
    },
    "nodes": [
      {
        "$tag": "Node",
        "id": "d0c00000-0000-4000-8000-000000000001",
        "name": "notify",
        "parentId": null,
        "branchIndex": 0,
        "type": "HTTP_REQUEST_NODE_TYPE",
        "data": {
          "request": {
            "method": "POST",
            "path": [
              {
                "$tag": "Constant",
                "value": "https://business-api.example.invalid/events/database"
              }
            ],
            "headers": [
              {
                "key": "Content-Type",
                "value": [
                  {
                    "$tag": "Constant",
                    "value": "application/json"
                  }
                ]
              }
            ],
            "queryStrings": [],
            "body": [
              {
                "$tag": "Constant",
                "value": "{\"operation\":\""
              },
              {
                "$tag": "Variable",
                "name": "trigger.operation"
              },
              {
                "$tag": "Constant",
                "value": "\"}"
              }
            ]
          },
          "responseHandlers": [
            {
              "$tag": "GetWholeAsString",
              "variableName": "response"
            }
          ]
        }
      },
      {
        "$tag": "Node",
        "id": "d0c00000-0000-4000-8000-000000000002",
        "name": "delivered",
        "parentId": "d0c00000-0000-4000-8000-000000000001",
        "branchIndex": 0,
        "type": "SET_VARIABLE",
        "data": {
          "variableValue": [
            {
              "$tag": "Constant",
              "value": "The notification request completed."
            }
          ]
        }
      },
      {
        "$tag": "Node",
        "id": "d0c00000-0000-4000-8000-000000000003",
        "name": "deliveryFailure",
        "parentId": "d0c00000-0000-4000-8000-000000000001",
        "branchIndex": 1,
        "type": "SET_VARIABLE",
        "data": {
          "variableValue": [
            {
              "$tag": "Constant",
              "value": "Notification failed; check the destination before retrying."
            }
          ]
        }
      }
    ],
    "gotos": []
  }
}
Keep building.Need help with this? Explore troubleshooting ↗

Find an answer. Try “welcome workflow”, “database”, or “Telegram”.