Approveit API Integration Guide: Webhooks & Outbound Automation

Approveit API Integration Guide: Webhooks & Outbound Automation

Approveit API Integration Guide: Webhooks & Outbound Automation

Apr 17, 2025

Approveit API Integration Guide: Webhooks & Outbound Automation

Understanding Webhooks in Approveit

In the realm of workflow automation software, real-time communication between systems is pivotal. Webhooks serve as a mechanism to send instant notifications from Approveit to external applications when specific events occur, such as the approval or rejection of a request.

By leveraging the Approveit API, organizations can implement webhook integration to ensure that their systems remain synchronized, facilitating seamless business process automation. This approach minimizes manual interventions, reduces errors, and accelerates decision-making processes.

Setting Up Webhook Integrations

Integrating webhooks within Approveit is a straightforward process. Here’s how to configure them.

Navigate to the workflow where you intend to set up the outbound integration.

Approveit-time-off-approval-form-connected-to-approveit-api-as-external-data-source

Click on “Send request data to” and select “Approveit API”.

Approveit-send-requests-popup-with-options-email-zapier-approveit-api-highlighted

Input your desired API endpoint URL where the data should be sent.

Approveit-endpoint-configuration-popup-for-sending-request-data-via-api

Specify the data fields to be included in the payload, such as cost center, currency, product, etc., and choose the specific request statuses (e.g., pending, approved, rejected) that should trigger the webhook.

Ensure all settings are correctly configured and save the changes to activate the webhook.

This setup ensures that your external systems receive timely and structured data, enabling efficient outbound data handling.

For more details, you can refer to the outbound schema and webhook.

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "approved",
        "rejected",
        "canceled",
        "change_requested",
        "deferred",
        "scheduled"
      ],
      "description": "The status of the approval request."
    },
    "approval_request_id": {
      "type": "integer",
      "description": "The unique ID of the approval request."
    },
    "create_at": {
      "type": ["string", "null"],
      "format": "date-time",
      "description": "The timestamp when the request was created, or null if not available."
    },
    "completed_at": {
      "type": ["string", "null"],
      "format": "date-time",
      "description": "The timestamp when the request was completed, or null if not available."
    },
    "workflow_name": {
      "type": "string",
      "description": "The name of the workflow associated with the request."
    },
    "pipeline_name": {
      "type": "string",
      "description": "The name of the pipeline associated with the workflow."
    },
    "requestor": {
      "type": "string",
      "description": "Full name of the user who requested the approval."
    },
    "requestor_team": {
      "type": "string",
      "description": "Name of the team associated with the requestor."
    },
    "comments": {
      "type": "array",
      "description": "List of comments made by approvers.",
      "items": {
        "type": "object",
        "properties": {
          "approver": {
            "type": "string",
            "description": "Name of the approver who made the comment."
          },
          "comment": {
            "type": "string",
            "description": "The content of the comment made by the approver."
          }
        },
        "required": ["approver", "comment"]
      }
    },
    "data": {
      "type": "object",
      "description": "A dictionary containing custom data fields with their labels as keys and values as content.",
      "additionalProperties": {
        "oneOf": [
          { "type": "string" },
          { "type": "integer" },
          {
            "type": "array",
            "items": {
              "oneOf": [
                { "type": "string" },
                { "type": "integer" }
              ]
            }
          }
        ],
        "description": "Value corresponding to the label."
      }
    },
    "approvers": {
      "type": "array",
      "description": "List of approvers.",
      "items": {
        "type": "string",
        "description": "The name of an approver."
      }
    }
  },
  "required": [
    "status",
    "approval_request_id",
    "workflow_name",
    "pipeline_name",
    "requestor",
    "requestor_team",
    "comments",
    "data",
    "approvers"
  ]
}

Use Cases for API & Webhook Automation

Implementing webhook-based automation within Approveit unlocks numerous possibilities:

  • CRM Integration: Automatically update customer records in your CRM system when approval statuses change.

  • Financial Systems Synchronization: Trigger financial transactions or record updates in accounting software upon approval completions.

  • Notification Systems: Send real-time notifications to communication platforms like Slack or Microsoft Teams when specific approval events occur.

  • Data Warehousing: Streamline data collection by sending approval data to data warehouses for analytics and reporting.

These integrations exemplify how workflow integration with APIs can enhance operational efficiency and data consistency across platforms.

For more information on initiating workflows from external systems, refer to the Approveit Inbound API Guide.

If you have any questions or need further assistance, feel free to reach out to our support team.

Tags