Checks are automated tests that monitor your application in staging or production. Each Check represents a specific test that runs on a schedule you define, whether that’s a simple health check on an API endpoint or a complex, multi-step workflow through your entire application. Checks proactively experience your application the same way real users would—clicking buttons, making API calls, filling forms, or connecting to services. You can run them as frequently as needed—every minute, hourly, or daily. When something breaks, you get notified immediately, often before users are affected. This lets you catch issues early, maintain confidence in your deployments, and ensure your critical systems are working as expected.

Types of Checks

Checkly’s flexible offering includes several types of Checks, each designed for different levels of complexity and testing scenarios:
Monitor HTTP/HTTPS endpoints for availability and basic performance. URL Monitors check if your websites and APIs are responding correctly by making HTTP requests and validating the response.Perfect for:
  • Website uptime monitoring
  • API endpoint availability
  • Basic performance tracking
  • SSL certificate monitoring
Verify connectivity to any TCP service by establishing connections to specific hosts and ports. TCP Monitors test the availability of non-HTTP services and infrastructure components.Perfect for:
  • Database connectivity
  • Custom application services
  • Network service availability
  • Port accessibility testing
Monitor scheduled processes, cron jobs, and batch operations that should “check in” at regular intervals. Instead of actively testing your service, Heartbeat Monitors wait to receive a signal from your system.Perfect for:
  • Backup job verification
  • Scheduled task monitoring
  • Batch process oversight
  • Data pipeline health
Advanced API testing that goes beyond basic uptime monitoring. Use setup and teardown scripts, complex assertions, and custom request handling. Validate that your backend services respond correctly, perform within acceptable timeframes, and return the right data structures.Perfect for:
  • Complex API endpoint validation
  • Authentication and authorization testing
  • Data structure and schema validation
  • Performance benchmarking
  • Custom request/response handling
  • Integration testing between services
Write sophisticated Node.js scripts that run multiple API requests in sequence with arbitrary code between requests. Perfect for testing complex workflows involving authentication, data manipulation, and multi-step processes that span multiple endpoints.Perfect for:
  • Multi-step authentication flows
  • Data transformation workflows
  • Complex business logic testing
  • End-to-end API integrations
  • Workflow orchestration testing
  • Cross-service data validation
Simulate real user interactions in a headless browser using TypeScript/JavaScript with @playwright/test. Navigate, screenshot, and assert your key webapp flows. Browser Checks can handle complex scenarios that simple uptime monitoring cannot.Perfect for:
  • Complete user journey testing
  • Login flows and authentication
  • Checkout processes and e-commerce flows
  • Form submissions and data entry
  • Visual regression testing
  • Mobile device emulation
Run entire Playwright test suites and projects as production monitors without code rewrites. Playwright Check Suites support the full Playwright API and ecosystem, enabling you to use existing tests and configuration files as-is.Perfect for:
  • Converting existing E2E tests into monitoring
  • Testing complex user workflows across multiple browsers
  • Monitoring critical business processes
  • Validating application functionality after deployments

How Checks Execute

monitoring and alerting pipeline
  1. A cron process picks up a check based on its schedule, say every 5 minutes. It validates that the check is not in progress at the moment to avoid race conditions. The check is put into a queue to be run from the next configured data center location.
  2. If the check is an API check and has a setup script, the setup script is executed.
  3. The check is executed.
  4. If the check is an API check and has a teardown script, the teardown script is executed. Teardown scripts are run before any assertions are validated.
  5. The result is stored in our central database.
  6. If the check fails, its retry strategy is executed. Based on the retry strategy, a check is retried one or multiple times. Any setup & teardown scripts are run again as part of the process.
  7. Alerts are sent out in requested channels when the sequence is complete. It’s considered complete when the check run was successful or the final attempt was executed. We will send alerts only if the final attempt has failed (no alerts sent for the initial attempts)

Code-First Philosophy

All check types at Checkly have a Construct or API endpoint - meaning you can use Checkly to bring your monitoring process right into your repository. We call this Monitoring as Code. This approach transforms monitoring from a manual, UI-driven process into a programmable, scalable system that grows with your application. You can version control your monitoring logic, collaborate on it through code reviews, and deploy monitoring changes through the same CI/CD pipelines you use for application code.