New to Kestra?
Use blueprints to kickstart your first workflows.
Audits Postman collection monitor test runs, detects failed response assertions, and delivers triaging runbooks to engineering on Slack.
Modern microservice ecosystems and public developer platforms depend on REST APIs to execute mission-critical business transactions. Engineering and Quality teams frequently automate synthetic contract testing by configuring Postman Monitors to execute Postman Collections on recurring schedules across global cloud regions. However, when upstream backend deployments introduce breaking schema modifications, missing header validations, or HTTP 500 internal errors, Postman default email notifications often land in developer spam filters or unmonitored mailing lists. As a result, API contract regressions can persist unnoticed in production for days. This sentinel queries the Postman REST API every 15 minutes, inspects the latest test run statistics for failed assertions and HTTP errors, and dispatches rich incident alerts to Slack with direct links to the Postman web execution console and triage runbooks.
*/15 * * * *) or runs on-demand via manual execution./monitors/{monitor_id} using a secured Postman API key.lastRun.stats.assertions and lastRun.stats.requests to measure total executions versus failed counts.failed_assertions exceeds max_failed_assertions_threshold or if any HTTP requests experienced fatal connection drops.io.kestra.plugin.core.flow.If flowable checks if the run recorded failures and dispatches a Slack alert to #api-contract-alerts.flowchart TD
A[fifteen_minute_postman_audit Schedule Trigger] --> B[evaluate_postman_monitor_run Python Script]
B --> C[check_assertion_failures Flowable If]
C -- Assertion Failures Detected --> D[notify_slack_postman_failure Webhook]
C -- All Assertions Passed --> E[log_assertion_status Log]
D --> E
E --> F[export_postman_manifest Return]
Postman monitors execute scheduled test runs, but integrating those results into broader incident management and CD pipelines requires workflow orchestration. Kestra connects directly to the Postman API, evaluates assertion failure rates against custom operational thresholds, and coordinates multi-channel alerts with triaging runbooks. Using Kestra's containerized Python runner and native secret management, teams bridge the gap between testing suites and production reliability operations.
| Name | Type | Default | Description |
|---|---|---|---|
postman_monitor_id |
STRING |
12345678-abcd-1234-ef01-123456789abc |
Unique identifier UID of the target Postman collection monitor to evaluate. |
max_failed_assertions_threshold |
INT |
0 |
Maximum allowable failed test assertions in the most recent run before raising an incident. |
alert_on_failure |
BOOL |
true |
Whether to dispatch automated Slack alerts when failing assertions or request errors occur. |
{{ outputs.evaluate_postman_monitor_run.vars.monitor_name }}: Display name of the evaluated Postman collection monitor.{{ outputs.evaluate_postman_monitor_run.vars.failed_assertions }}: Count of failed test assertions in the latest run.{{ outputs.evaluate_postman_monitor_run.vars.has_failures }}: Boolean flag indicating whether assertions or requests failed.{{ outputs.export_postman_manifest.value }}: Structured dictionary containing the consolidated Postman monitor execution summary.api.getpostman.com.PMAK-...) with read permissions for collection monitors.POSTMAN_API_KEY: Postman API access key with permissions to read monitor run statistics.SLACK_WEBHOOK_URL: Slack Incoming Webhook URL used to dispatch API contract incident notifications.POSTMAN_API_KEY and SLACK_WEBHOOK_URL in your Kestra secret storage.company.qa namespace.postman_monitor_id with your monitor UID (found in Postman web console URL).POST /monitors/{monitor_id}/run to re-execute the collection upon transient network failure.io.kestra.plugin.core.flow.ForEach to audit all team test suites.