LogoLogo
🚀 Run Maestro tests in the cloud →
  • Home
  • Star us on GitHub
  • Getting Started
    • What is Maestro?
    • Installing Maestro
      • macOS
      • Windows
      • Linux
    • Build and Install your App
      • Android
      • iOS
    • Run a Sample Flow
    • Writing Your First Flow
    • Maestro Studio
    • Running Flows on CI
  • Cloud
    • Run Maestro tests in the cloud
    • Cloud Quickstart
    • CI Integration
      • GitHub Actions
        • Maestro GitHub Action for Android
        • Maestro GitHub Action for iOS
        • Maestro GitHub Action for Flutter
      • Bitrise
      • Bitbucket Pipelines
      • CircleCI
      • Integration with any CI platform
    • Pull Request Integration
    • Cloud Reference
      • Build your app for the cloud
      • Configuring OS Version
      • Configuring device locale
      • Device timezones
      • Email Notifications
      • Slack Notifications
      • Webhook Integration
      • Managing Secrets
      • Limits
      • Reusing App Binary
      • IP Allowlist
      • System Status
  • Platform Support
    • Supported Platforms
    • Android - Views
    • Android - Jetpack Compose
    • iOS - UIKit
    • iOS - SwiftUI
    • React Native
    • Flutter
    • Web Views
    • Web (Desktop Browser)
  • Examples
    • Android contacts flow automation
    • Facebook signup flow automation
    • Advanced: Wikipedia Android
    • Page Object Model
  • CLI
    • Cloud
    • Test Suites & Reports
    • Tags
    • Record Your Flow
    • Continuous Mode
    • View Hierarchy
    • Start Device
  • API Reference
    • Commands
      • addMedia
      • assertVisible
      • assertNotVisible
      • assertTrue
      • assertWithAI
      • assertNoDefectsWithAi
      • back
      • clearKeychain
      • clearState
      • copyTextFrom
      • evalScript
      • eraseText
      • extendedWaitUntil
      • extractTextWithAI
      • hideKeyboard
      • inputText
      • killApp
      • launchApp
      • openLink
      • pressKey
      • pasteText
      • repeat
      • retry
      • runFlow
      • runScript
      • scroll
      • scrollUntilVisible
      • setAirplaneMode
      • setLocation
      • startRecording
      • stopApp
      • stopRecording
      • swipe
      • takeScreenshot
      • toggleAirplaneMode
      • tapOn
      • doubleTapOn
      • longPressOn
      • travel
      • waitForAnimationToEnd
    • Common command arguments
    • Selectors
    • Configuration
      • Workspace configuration
      • Flow configuration
      • AI configuration
  • Advanced
    • Nested Flows
    • Wait
    • Loops
    • Conditions
    • Parameters & Constants
    • JavaScript
      • Run JavaScript
      • Outputs
      • Logging
      • Access element text
      • Make HTTP requests
      • GraalJS support
      • JavaScript announcement blog
    • Specify a Device
    • Configure Permissions
    • Detect Maestro in your app
    • Configure Maestro driver timeout
    • onFlowStart / onFlowComplete hooks
    • Test in different locales
    • Structuring your test suite
  • Troubleshooting
    • Known Issues
    • Frequently Asked Questions
    • Bug Report
    • Rollback Maestro
    • Debug Output
    • HOWTOs
      • Arrange your repository for Maestro tests
      • scrollUntilVisible for fragments
  • Community
    • Contributions
    • Articles & Tutorials
    • Case Studies
    • Resources
Powered by GitBook

Read to wire into CI or scale up your testing?

  • Run Maestro tests in the cloud →
On this page

Was this helpful?

Edit on GitHub
  1. Cloud
  2. Cloud Reference

Webhook Integration

PreviousSlack NotificationsNextManaging Secrets

Last updated 1 month ago

Was this helpful?

🚀 Cloud Plan required - get started for free at

You can set up Maestro to send webhook notifications about upload results from a specific project. This allows you to integrate upload events with your custom workflows, monitoring systems, or other external services.

  1. Go to the settings in your Maestro Console

Webhooks provide a flexible way to receive real-time notifications about upload events programmatically.

  1. Navigate to the Project Settings page

  2. Configure your Webhook URL

    • Enter the full URL where you want to receive webhook notifications

  3. Get your Webhook Token

    Copy the token provided in the settings page, to use it in your webhook endpoint as the Bearer Token.

  4. Verify and Enable the Webhook

Ensure your webhook endpoint can handle POST requests and is publicly accessible.
  1. Webhook Payload Example

When an upload event occurs, a POST request will be sent to your configured URL with a JSON payload:

{
  "id": "mupload_123456",
  "name": "TestApp Release 1.2.3",
  "url": "https://app.maestro.dev/project/project-abc123/maestro-test/app/com.example.testapp/upload/upload-123456",
  "platform": "ANDROID",
  "appId": "com.example.testapp",
  "githubBranch": "main",
  "envVariables": {
    "API_ENDPOINT": "https://api.example.com",
    "FEATURE_FLAG_ENABLED": "true"
  },
  "startTime": 1659312000000,
  "endTime": 1659315600000,
  "flows": [
    {
      "id": "run_789012",
      "name": "Login Flow Test",
      "url": "https://app.maestro.dev/project/project-abc123/maestro-test/flow/run-789012",
      "status": "SUCCESS",
      "failureReason": null,
      "startTime": 1659312000000,
      "endTime": 1659312300000
    },
    {
      "id": "run_789013",
      "name": "Checkout Flow Test",
      "url": "https://app.maestro.dev/project/project-abc123/maestro-test/flow/run-789013",
      "status": "FAILURE",
      "failureReason": "Element with ID 'checkout_button' not found",
      "startTime": 1659312600000,
      "endTime": 1659312900000
    },
    {
      "id": "run_789014",
      "name": "User Profile Flow",
      "url": "https://app.maestro.dev/project/project-abc123/maestro-test/flow/run-789014",
      "status": "SUCCESS",
      "failureReason": null,
      "startTime": 1659313200000,
      "endTime": 1659313500000
    }
  ]
}
  1. Manage Webhook Integration

  • You can update or disable the webhook at any time in the settings

  • You can have multiple webhooks configured for the same project

  • Test your webhook configuration with a sample payload

maestro.dev
Webhook Settings
Webhook URL Configuration