# Health Checks

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

Each Action's endpoint is required to respond to a default, no parameter
invocation. This supports the scenario where the user asks to talk to an Action
without providing any additional information (for example,
*"I want to talk to **invocation name**"*).

## Common questions

**Do I need to implement anything specific to support the health checks?**

No. Action health checks will function like a standard request to talk to an Action.

**How often is my Action's health checked?**

Your Action may be monitored throughout the day.

**How can I detect that a request is a health check?**

If you're using Actions Builder as your development platform, you receive a
health check request similar to the snippet below:

> [!NOTE]
> **Note:** With Actions Builder, if you are using the client library in your webhook, health checks are handled for you.

<br />

```
{
  "handler": {
    "name": "actions.handler.HEALTH_CHECK"
  },
  "intent": {
    "name": "actions.intent.HEALTH_CHECK"
  },
  "session": {
    "id": "actions.session.HEALTH_CHECK"
  },
  "user": {
    "locale":"en-US"
  },
  "device": {
    "capabilities": []
  }
}
  
```

<br />

When you receive this request, you should respond with a 200 response code;
otherwise, your Action is considered unhealthy. The following snippet is
an example of a properly formatted response:

      {"prompt":{"override":true,"firstSimple":{"speech":"ok","text":""}}}

If you're using Dialogflow as your development platform, Google adds an
`"is_health_check"` argument and passes this to the intent. This argument is
found in the [Input](https://developers.google.com/assistant/conversational/df-asdk/reference/webhook/rest/Shared.Types/AppRequest#input)
object of the webhook request:

<br />

```
{
  ...
  "originalDetectIntentRequest": {
    ...
    "payload": {
      ...
      "inputs": [{
        ...
        "arguments": [{
          "name": "is_health_check",
          "boolValue": true,
          "textValue": "1"
        }]
      }],
      ...
    }
  }
}
  
```

<br />

**What happens if Google detects an unhealthy Action?**
If Google detects that the Action is experiencing an outage, the Action is
suspended. Users requesting the unhealthy Action will hear "ACTION_NAME is
not available".

**How will I be notified if an Action is marked as unhealthy?**
When Google detects an unhealthy Action, we send a notification email to the
primary developer associated with the Actions project.

**What happens if my Action that uses account linking is marked as unhealthy?**
Unlike other Actions, Actions that use account linking are not suspended after
Google declares them unhealthy. Users can still access your Action for 7 days
after you receive the notification email. However, if you have not fixed the
account linking issue after 7 days, your Action will be taken down.

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

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

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