Configure custom webhooks in Postman

Postman's custom webhook integration enables you to automate workflows between your favorite apps and services to get notifications, synchronize files, collect data, and more. It offers services with predefined workflows that you can implement.

You can configure a custom webhook with Postman to send events such as monitor results or team and collection-specific activity feeds, or to back up your Postman Collections.

Enable static IP support

If your network is behind a firewall, you will need to use a static IP address to enable collection backups to custom webhooks on custom domains.

Contact your IT team to allowlist the following static IP in your firewall to enable collection backups to webhooks:

  • US East: 3.212.102.200

Once you allowlist this IP address, calls for the custom webhook will be able to connect to your network and enable the webhook to work as expected.

Configure custom webhooks

  1. On the Integrations page, search and select Webhooks from the list of integrations.

    The integration's page has choices for each type of custom webhook. If available, you can view previously configured integrations for the selected integration.

  2. Select Add Integration next to a webhook type to configure your integration. Perform the steps in the related section below for the webhook type you are adding.

Once the integration has been created, you can view the integration you created in addition to the other active integrations created by your team:

Send updates for a Postman Collection to a custom webhook

  1. In the Webhooks Integrations page, next to Backup a collection, select Add Integration.
  2. In the Add integration page:
    • Enter a Nickname for the integration.
    • Under Choose workspace, select the workspace your collection belongs to.
    • Under Choose Collection, select the collection you wish to send updates for.
    • Enter the webhook URL your webhook payload will be sent to.
  3. Select Add Integration.

Postman periodically checks your collection for changes. If Postman identifies changes when it checks your collection, the changes automatically send to your custom webhook.

Example collection backup schema

The following is a schema for the Backup a collection webhook:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "definitions": {},
  "id": "http://example.com/example.json",
  "properties": {
    "collection": {
      "id": "/properties/collection",
      "properties": {},
      "type": "object"
    }
  },
  "type": "object"
}

Send monitor results to custom webhooks

Postman Monitors enable you to run your collections on a schedule without any manual intervention. By using custom webhooks you can use those results by connecting to other available services.

  1. In the Webhooks Integrations page, next to Post monitoring results, select Add Integration.
  2. In the Add integration page:
    • Enter a Nickname for the integration.
    • Select the workspace containing the monitor you want to send to a custom webhook.
    • Select the monitor you want to send.
    • Enter the webhook URL your webhook payload will be sent to.
    • Select Notify for all completed monitor runs or Notify for 3 failures and then first success.
  3. Select Add Integration.

Whenever your monitor runs, the results are posted to your webhook.

Example monitor result schema

The following is a schema for the Post monitoring results webhook:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "definitions": {},
  "id": "http://example.com/example.json",
  "properties": {
    "collection_name": {
      "id": "/properties/collection_name",
      "type": "string"
    },
    "collection_uid": {
      "id": "/properties/collection_uid",
      "type": "string"
    },
    "environment_name": {
      "id": "/properties/environment_name",
      "type": "string"
    },
    "environment_uid": {
      "id": "/properties/environment_uid",
      "type": "string"
    },
    "metrics": {
      "id": "/properties/metrics",
      "properties": {
        "errors":
          "id": "/properties/metrics/properties/errors",
          "type": "integer"
        },
        "failedTests": {
          "id": "/properties/metrics/properties/failedTests",
          "type": "integer"
        },
        "passedTests": {
          "id": "/properties/metrics/properties/passedTests",
          "type": "integer"
        },
        "requestCount": {
          "id": "/properties/metrics/properties/requestCount",
          "type": "integer"
        },
        "totalLatency": {
          "id": "/properties/metrics/properties/totalLatency",
          "type": "integer"
        },
        "warnings": {
          "id": "/properties/metrics/properties/warnings",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "monitor_name": {
      "id": "/properties/monitor_name",
      "type": "string"
    },
    "monitor_uid": {
      "id": "/properties/monitor_uid",
      "type": "string"
    },
    "user_id": {
      "id": "/properties/user_id",
      "type": "string"
    },
    "user_name": {
      "id": "/properties/user_name",
      "type": "string"
    }
  },
  "type": "object"
}

Send a team activity feed to custom webhooks

The activity feed is where you can track changes made to your collections and within your team.

  1. In the Webhooks Integrations page, next to Post team activity, select Add Integration.
  2. In the Add integration page:
    • Enter a Nickname for the integration.
    • Enter the webhook URL to send team updates to this specific URL.
  3. Select Add Integration.

Example team activity schema

The following is a schema for the Post team activity webhook:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "definitions": {},
  "id": "http://example.com/example.json",
  "properties": {
    "action": {
      "id": "/properties/action",
      "type": "string"
    },
    "collection_name": {
      "id": "/properties/collection_name",
      "type": "string"
    },
    "collection_uid": {
      "id": "/properties/collection_uid",
      "type": "string"
    },
    "message": {
      "id": "/properties/message",
      "type": "string"
    },
    "model": {
      "id": "/properties/model",
      "type": "string"
    },
    "model_name": {
      "id": "/properties/model_name",
      "type": "string"
    },
    "model_uid": {
      "id": "/properties/model_uid",
      "type": "string"
    },
    "user_id": {
      "id": "/properties/user_id",
      "type": "string"
    },
    "user_name": {
      "id": "/properties/user_name",
      "type": "string"
    }
  },
  "type": "object"
}

Last modified: 2024/08/30