Action Health Checks

Google monitors deployed actions to verify they're available and responding to user requests.

Each app's endpoint is required to respond to a default, no parameter, "launch" intent. This supports the scenario where the user asks to talk to the app without providing any specific need (e.g. "I want to talk to invocation name").

Common questions

Do I need to implement anything specific to support the health checks? No, app health checks will function like a standard request to talk to an app.

How often will my app's health be checked? Your app may be monitored throughout the day.

How can I detect that a request is a health check? Google adds an argument to the request body so that you can detect a health check in your analytics. The launch intent request from Google will have an “is_health_check” argument passed to the intent, as the following example shows. This is found in the Input object of the webhook request:

{
  "rawInputs": [

    ...

  ],
  "intent": com.example.name.intent,
  "arguments": [
    {
      "name": "is_health_check",
      "text_value": "1"
    }
  ],
}

What happens if Google detects that an app is unhealthy? If Google detects that the app is experiencing an outage, the app and its actions are suspended. Users requesting the unhealthy app will hear “app is not available”.

How will I be notified if an app is marked as unhealthy? Upon detecting an unhealthy app, the account that was used to create or update the app will receive an email from Google.

How can I check my app's health status? You can check your developer console and see the status of your app. Unhealthy apps will have a status of Unhealthy. Healthy apps will be marked as Deployed.

What’s the process for returning an app to the deployed state? You should review your deployment and address any issues that might be causing the app to fail to respond to a launch intent.

Google will continue to periodically monitor the app's health while it is unhealthy. When Google detects that the app is responding as expected, the app will return to the deployed state.