{"componentChunkName":"component---src-templates-docs-js","path":"/whatsapp/receive_notifications/flows","result":{"data":{"site":{"siteMetadata":{"title":"broadcaster","docsLocation":"https://github.com","docsLocationType":"github","editable":false}},"mdx":{"fields":{"id":"1c7b2a1f-ed0a-5548-b7b0-82564de4b689","title":"Flows notifications","slug":"/whatsapp/receive_notifications/flows"},"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Flows notifications\",\n  \"order\": 7\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Integration summary\")), mdx(\"ul\", {\n    parentName: \"blockquote\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Delivery:\"), \" WhatsApp \\u2192 Concepto M\\xF3vil \\u2192 \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"POST\"), \" to the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"platform webhook\"), \" configured for the account (not the per-number webhook), with a JSON body. Only delivered when the account has a platform configured.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Headers:\"), \" \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Content-Type: application/json; charset=UTF-8\"), \" and optional \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Authorization: Basic \\u2026\"), \". No \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Cache-Control\"), \" is sent.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Retries:\"), \" not retried on HTTP error responses; only retried on I/O errors.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Format:\"), \" Meta's full webhook object (\", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"object\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"entry\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"changes\"), \"), with \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"field\"), \" set to \\\"flows\\\" (see \", mdx(\"a\", {\n    href: \"/whatsapp/receive_notifications/webhook\"\n  }, \"Webhook\"), \").\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Types on this page:\"), \" \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"FLOW_STATUS_CHANGE\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"CLIENT_ERROR_RATE\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"ENDPOINT_ERROR_RATE\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"ENDPOINT_LATENCY\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"ENDPOINT_AVAILABILITY\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"FLOW_VERSION_EXPIRY_WARNING\"), \" (\", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"event\"), \" values)\"))), mdx(\"p\", null, \"For the response a user sends after completing a Flow, see \", mdx(\"a\", {\n    href: \"/whatsapp/receive_notifications/replies#h-whatsappflows\"\n  }, \"WhatsApp Flows\"), \" in Interactive replies.\"), mdx(\"section\", {\n    \"id\": \"generalstructure\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"General structure\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Flows notifications (status changes and alerts for a Flow) are delivered by webhook. They are a combination of nested JSON arrays and objects that contain information about a change.\")), mdx(\"section\", {\n    \"id\": \"generalstructure--structure\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Structure\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Fields for \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"General structure\"), \":\"), mdx(\"table\", {\n    parentName: \"section\"\n  }, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Name\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Type\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"object\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"The webhook the business is subscribed to.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"entry\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"An array of entry objects. Entry objects have the following properties: \", mdx(\"ul\", null, mdx(\"li\", null, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"id\"), \" (String). The ID of the WhatsApp Business Account subscribed to the webhook.\"), mdx(\"li\", null, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"changes\"), \" (Object). An array of change objects. Change objects have the following properties: \", mdx(\"ul\", null, mdx(\"li\", null, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"value\"), \" (\", mdx(\"a\", {\n    href: \"/whatsapp/receive_notifications/flows#h-valueobject\"\n  }, \"Object\"), \").\"), mdx(\"li\", null, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"field\"), \" (String). flows\"))))), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Object list\"))))), mdx(\"section\", {\n    \"id\": \"generalstructure--structure--valueobject\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Value object\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Contains the details of the change that triggered the webhook. This object is nested inside the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"changes\"), \" array of the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"entry\"), \" array.\"), mdx(\"table\", {\n    parentName: \"section\"\n  }, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Name\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Type\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"flow_id\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Flow ID.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"threshold\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"The alert threshold that was reached.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Number\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"event\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Notification type. Possible values: \", mdx(\"ul\", null, mdx(\"li\", null, \"FLOW_STATUS_CHANGE\"), mdx(\"li\", null, \"CLIENT_ERROR_RATE\"), mdx(\"li\", null, \"ENDPOINT_ERROR_RATE\"), mdx(\"li\", null, \"ENDPOINT_LATENCY\"), mdx(\"li\", null, \"ENDPOINT_AVAILABILITY\"), mdx(\"li\", null, \"FLOW_VERSION_EXPIRY_WARNING\"))), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"message\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Detailed description of the message.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"old_status\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Previous Flow status: \", mdx(\"ul\", null, mdx(\"li\", null, \"DRAFT\"), mdx(\"li\", null, \"PUBLISHED\"), mdx(\"li\", null, \"DEPRECATED\"), mdx(\"li\", null, \"BLOCKED\"), mdx(\"li\", null, \"THROTTLED\"))), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"new_status\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Current Flow status: \", mdx(\"ul\", null, mdx(\"li\", null, \"DRAFT\"), mdx(\"li\", null, \"PUBLISHED\"), mdx(\"li\", null, \"DEPRECATED\"), mdx(\"li\", null, \"BLOCKED\"), mdx(\"li\", null, \"THROTTLED\"))), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"alert_state\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Alert status: \", mdx(\"ul\", null, mdx(\"li\", null, \"ACTIVATED\"), mdx(\"li\", null, \"DEACTIVATED\"))), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"requests_count\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Number of requests used to calculate the metric.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Integer\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"errors\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"An array of error objects describing each error included in the alert. Error objects have the following properties: \", mdx(\"ul\", null, mdx(\"li\", null, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error_count\"), \" (Integer). Number of times the error occurred.\"), mdx(\"li\", null, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error_rate\"), \" (Number, decimal). Error rate for that specific error.\"), mdx(\"li\", null, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error_type\"), \" (String). Error name.\"))), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Object list\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"p50_latency\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"P50 latency of endpoint requests.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Integer\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"p90_latency\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"P90 latency of endpoint requests.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Integer\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"error_rate\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Overall error rate for the alert.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Number (decimal)\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"availability\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Flow endpoint availability (percentage).\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Number\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"warning\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Freeze or expiry warning for the Flow version. Present in \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"FLOW_VERSION_EXPIRY_WARNING\"), \" events and, on Flow creation, it can also appear in a \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"FLOW_STATUS_CHANGE\"), \" event.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"String\")))), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"flowstatuschange\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Flow status change\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"event\"), \" field is \\\"FLOW_STATUS_CHANGE\\\".\")), mdx(\"section\", {\n    \"id\": \"flowstatuschange--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Flow status change\"), \" example:\")), mdx(\"section\", {\n    \"id\": \"flowstatuschange--example--flowcreated\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Flow created\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"entry\\\": [\\n        {\\n            \\\"id\\\": \\\"173276950931742\\\",\\n            \\\"time\\\": 1718654293,\\n            \\\"changes\\\": [\\n                {\\n                    \\\"value\\\": {\\n                        \\\"event\\\": \\\"FLOW_STATUS_CHANGE\\\",\\n                        \\\"message\\\": \\\"Flow Flow for Customer Support New has been created with DRAFT status\\\",\\n                        \\\"flow_id\\\": \\\"474277461763971\\\",\\n                        \\\"new_status\\\": \\\"DRAFT\\\"\\n                    },\\n                    \\\"field\\\": \\\"flows\\\"\\n                }\\n            ]\\n        }\\n    ],\\n    \\\"object\\\": \\\"whatsapp_business_account\\\"\\n}\\n\"))), mdx(\"section\", {\n    \"id\": \"flowstatuschange--example--fromdrafttopublished\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"From DRAFT to PUBLISHED\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"entry\\\": [\\n        {\\n            \\\"id\\\": \\\"173276950931742\\\",\\n            \\\"time\\\": 1718663619,\\n            \\\"changes\\\": [\\n                {\\n                    \\\"value\\\": {\\n                        \\\"event\\\": \\\"FLOW_STATUS_CHANGE\\\",\\n                        \\\"message\\\": \\\"Flow My survey flow changed status from DRAFT to PUBLISHED\\\",\\n                        \\\"flow_id\\\": \\\"1191878175570507\\\",\\n                        \\\"old_status\\\": \\\"DRAFT\\\",\\n                        \\\"new_status\\\": \\\"PUBLISHED\\\"\\n                    },\\n                    \\\"field\\\": \\\"flows\\\"\\n                }\\n            ]\\n        }\\n    ],\\n    \\\"object\\\": \\\"whatsapp_business_account\\\"\\n}\\n\"))), mdx(\"section\", {\n    \"id\": \"flowstatuschange--example--frompublishedtodeprecated\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"From PUBLISHED to DEPRECATED\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"entry\\\": [\\n        {\\n            \\\"id\\\": \\\"173276950931742\\\",\\n            \\\"time\\\": 1718728797,\\n            \\\"changes\\\": [\\n                {\\n                    \\\"value\\\": {\\n                        \\\"event\\\": \\\"FLOW_STATUS_CHANGE\\\",\\n                        \\\"message\\\": \\\"Flow dev_prueba_2 changed status from PUBLISHED to DEPRECATED\\\",\\n                        \\\"flow_id\\\": \\\"1504323267150344\\\",\\n                        \\\"old_status\\\": \\\"PUBLISHED\\\",\\n                        \\\"new_status\\\": \\\"DEPRECATED\\\"\\n                    },\\n                    \\\"field\\\": \\\"flows\\\"\\n                }\\n            ]\\n        }\\n    ],\\n    \\\"object\\\": \\\"whatsapp_business_account\\\"\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"client_error_rate\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"CLIENT_ERROR_RATE\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"event\"), \" field is \\\"CLIENT_ERROR_RATE\\\".\")), mdx(\"section\", {\n    \"id\": \"client_error_rate--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"CLIENT_ERROR_RATE\"), \" example:\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"entry\\\": [\\n        {\\n            \\\"id\\\": \\\"106181168862417\\\",\\n            \\\"time\\\": 1674160476,\\n            \\\"changes\\\": [\\n                {\\n                    \\\"value\\\": {\\n                        \\\"event\\\": \\\"CLIENT_ERROR_RATE\\\",\\n                        \\\"message\\\": \\\"The flow client request error rate has reached the 5% threshold in the last 60 minutes. A higher error rate will make it harder for users to complete the flow, resulting in drop-offs.\\\",\\n                        \\\"flow_id\\\": \\\"691244242662581\\\",\\n                        \\\"error_rate\\\": 14.28,\\n                        \\\"threshold\\\": 10,\\n                        \\\"alert_state\\\": \\\"ACTIVATED\\\",\\n                        \\\"errors\\\": [\\n                            {\\n                                \\\"error_type\\\": \\\"INVALID_SCREEN_TRANSITION\\\",\\n                                \\\"error_rate\\\": 66.66,\\n                                \\\"error_count\\\": 2\\n                            },\\n                            {\\n                                \\\"error_type\\\": \\\"PUBLIC_KEY_MISSING\\\",\\n                                \\\"error_rate\\\": 33.33,\\n                                \\\"error_count\\\": 1\\n                            }\\n                        ]\\n                    },\\n                    \\\"field\\\": \\\"flows\\\"\\n                }\\n            ]\\n        }\\n    ],\\n    \\\"object\\\": \\\"whatsapp_business_account\\\"\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"endpoint_error_rate\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"ENDPOINT_ERROR_RATE\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"event\"), \" field is \\\"ENDPOINT_ERROR_RATE\\\".\")), mdx(\"section\", {\n    \"id\": \"endpoint_error_rate--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"ENDPOINT_ERROR_RATE\"), \" example:\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"entry\\\": [\\n        {\\n            \\\"id\\\": \\\"106181168862417\\\",\\n            \\\"time\\\": 1674160476,\\n            \\\"changes\\\": [\\n                {\\n                    \\\"value\\\": {\\n                        \\\"event\\\": \\\"ENDPOINT_ERROR_RATE\\\",\\n                        \\\"message\\\": \\\"The flow endpoint request error rate has reached the 10% threshold in the last 30 minutes. A higher error rate will make it harder for users to complete the flow, resulting in drop-offs.\\\",\\n                        \\\"flow_id\\\": \\\"691244242662581\\\",\\n                        \\\"error_rate\\\": 14.28,\\n                        \\\"threshold\\\": 10,\\n                        \\\"alert_state\\\": \\\"ACTIVATED\\\",\\n                        \\\"errors\\\": [\\n                            {\\n                                \\\"error_type\\\": \\\"CAPABILITY_ERROR\\\",\\n                                \\\"error_rate\\\": 66.66,\\n                                \\\"error_count\\\": 2\\n                            },\\n                            {\\n                                \\\"error_type\\\": \\\"TIMEOUT\\\",\\n                                \\\"error_rate\\\": 33.33,\\n                                \\\"error_count\\\": 1\\n                            }\\n                        ]\\n                    },\\n                    \\\"field\\\": \\\"flows\\\"\\n                }\\n            ]\\n        }\\n    ],\\n    \\\"object\\\": \\\"whatsapp_business_account\\\"\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"endpoint_latency\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"ENDPOINT_LATENCY\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"event\"), \" field is \\\"ENDPOINT_LATENCY\\\".\")), mdx(\"section\", {\n    \"id\": \"endpoint_latency--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"ENDPOINT_LATENCY\"), \" example:\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"entry\\\": [\\n        {\\n            \\\"id\\\": \\\"106181168862417\\\",\\n            \\\"time\\\": 1674160476,\\n            \\\"changes\\\": [\\n                {\\n                    \\\"value\\\": {\\n                        \\\"event\\\": \\\"ENDPOINT_LATENCY\\\",\\n                        \\\"message\\\": \\\"Flow endpoint latency has reached the p90 threshold in the last 30 minutes. High latency will increase the loading time between screens in the flow, impacting user experience.\\\",\\n                        \\\"flow_id\\\": \\\"691244242662581\\\",\\n                        \\\"p90_latency\\\": 8000,\\n                        \\\"p50_latency\\\": 500,\\n                        \\\"requests_count\\\": 34,\\n                        \\\"threshold\\\": 7000,\\n                        \\\"alert_state\\\": \\\"ACTIVATED\\\"\\n                    },\\n                    \\\"field\\\": \\\"flows\\\"\\n                }\\n            ]\\n        }\\n    ],\\n    \\\"object\\\": \\\"whatsapp_business_account\\\"\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"endpoint_availability\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"ENDPOINT_AVAILABILITY\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"event\"), \" field is \\\"ENDPOINT_AVAILABILITY\\\".\")), mdx(\"section\", {\n    \"id\": \"endpoint_availability--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"ENDPOINT_AVAILABILITY\"), \" example:\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"entry\\\": [\\n        {\\n            \\\"id\\\": \\\"106181168862417\\\",\\n            \\\"time\\\": 1674160476,\\n            \\\"changes\\\": [\\n                {\\n                    \\\"value\\\": {\\n                        \\\"event\\\": \\\"ENDPOINT_AVAILABILITY\\\",\\n                        \\\"message\\\": \\\"The flow endpoint availability has breached the 90% threshold in the last 10 minutes. Users will be unable to open or use the flow.\\\",\\n                        \\\"flow_id\\\": \\\"12345678\\\",\\n                        \\\"alert_state\\\": \\\"ACTIVATED\\\",\\n                        \\\"availability\\\": 75,\\n                        \\\"threshold\\\": 90\\n                    },\\n                    \\\"field\\\": \\\"flows\\\"\\n                }\\n            ]\\n        }\\n    ],\\n    \\\"object\\\": \\\"whatsapp_business_account\\\"\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })), mdx(\"section\", {\n    \"id\": \"flowversionfreezeorexpirywarning\"\n  }, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Flow version freeze or expiry warning\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Sent when a Flow version is about to be frozen or to expire, so you can migrate to the recommended version before you lose the ability to publish or send the Flow. There are two cases:\"), mdx(\"ul\", {\n    parentName: \"section\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"On Flow creation, if a version in use is about to freeze: a \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"FLOW_STATUS_CHANGE\"), \" event that also includes a \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"warning\"), \" field.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"When you send a Flow whose version is about to expire: a dedicated \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"FLOW_VERSION_EXPIRY_WARNING\"), \" event. WhatsApp aims to send only one of these per affected Flow.\"))), mdx(\"section\", {\n    \"id\": \"flowversionfreezeorexpirywarning--example\"\n  }, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Example\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Complete \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Flow version freeze or expiry warning\"), \" example:\")), mdx(\"section\", {\n    \"id\": \"flowversionfreezeorexpirywarning--example--freezewarningonflowcreation\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Freeze warning on Flow creation\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"entry\\\": [\\n        {\\n            \\\"id\\\": \\\"644600416743275\\\",\\n            \\\"time\\\": 1684969340,\\n            \\\"changes\\\": [\\n                {\\n                    \\\"value\\\": {\\n                        \\\"event\\\": \\\"FLOW_STATUS_CHANGE\\\",\\n                        \\\"message\\\": \\\"Flow Webhook 3 has been created with DRAFT status\\\",\\n                        \\\"flow_id\\\": \\\"6627390910605886\\\",\\n                        \\\"new_status\\\": \\\"DRAFT\\\",\\n                        \\\"warning\\\": \\\"Your current Flow version will freeze in 21 days. You won't be able to send the Flow after it expires. Please migrate to the recommended version as soon as possible.\\\"\\n                    },\\n                    \\\"field\\\": \\\"flows\\\"\\n                }\\n            ]\\n        }\\n    ],\\n    \\\"object\\\": \\\"whatsapp_business_account\\\"\\n}\\n\"))), mdx(\"section\", {\n    \"id\": \"flowversionfreezeorexpirywarning--example--versionexpirywarning\"\n  }, mdx(\"h4\", {\n    parentName: \"section\"\n  }, \"Version expiry warning\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n    \\\"entry\\\": [\\n        {\\n            \\\"id\\\": \\\"644600416743275\\\",\\n            \\\"time\\\": 1684969340,\\n            \\\"changes\\\": [\\n                {\\n                    \\\"value\\\": {\\n                        \\\"event\\\": \\\"FLOW_VERSION_EXPIRY_WARNING\\\",\\n                        \\\"warning\\\": \\\"Your current Flow version will freeze in 21 days. You won't be able to send the Flow after it expires. Please migrate to the recommended version as soon as possible.\\\",\\n                        \\\"flow_id\\\": \\\"6627390910605886\\\"\\n                    },\\n                    \\\"field\\\": \\\"flows\\\"\\n                }\\n            ]\\n        }\\n    ],\\n    \\\"object\\\": \\\"whatsapp_business_account\\\"\\n}\\n\")), mdx(\"br\", null), mdx(\"hr\", {\n    parentName: \"section\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#general-structure","title":"General structure","items":[{"url":"#structure","title":"Structure","items":[{"url":"#value-object","title":"Value object"}]}]},{"url":"#flow-status-change","title":"Flow status change","items":[{"url":"#example","title":"Example","items":[{"url":"#flow-created","title":"Flow created"},{"url":"#from-draft-to-published","title":"From DRAFT to PUBLISHED"},{"url":"#from-published-to-deprecated","title":"From PUBLISHED to DEPRECATED"}]}]},{"url":"#client_error_rate","title":"CLIENT_ERROR_RATE","items":[{"url":"#example-1","title":"Example"}]},{"url":"#endpoint_error_rate","title":"ENDPOINT_ERROR_RATE","items":[{"url":"#example-2","title":"Example"}]},{"url":"#endpoint_latency","title":"ENDPOINT_LATENCY","items":[{"url":"#example-3","title":"Example"}]},{"url":"#endpoint_availability","title":"ENDPOINT_AVAILABILITY","items":[{"url":"#example-4","title":"Example"}]},{"url":"#flow-version-freeze-or-expiry-warning","title":"Flow version freeze or expiry warning","items":[{"url":"#example-5","title":"Example","items":[{"url":"#freeze-warning-on-flow-creation","title":"Freeze warning on Flow creation"},{"url":"#version-expiry-warning","title":"Version expiry warning"}]}]}]},"timeToRead":1,"parent":{"__typename":"File","relativePath":"whatsapp/receive_notifications/flows.md","fields":{"gitLogLatestAuthorName":"Irais Aguirre","gitLogLatestAuthorEmail":"irais.aguirre@conceptomovil.com","gitLogLatestDate":"5 hours ago"}},"frontmatter":{"metaTitle":null,"showMetadata":null,"editable":null,"showPreviousNext":null,"showToc":null}},"gitBranch":{"name":"20211019-2FACTOR_AUTH"},"gitCommit":{"hash":"9713e1925aeb8cad930f91b6bf05d0b5937b2bb5","date":"2026-11-13 06:39"}},"pageContext":{"id":"1c7b2a1f-ed0a-5548-b7b0-82564de4b689"}},"staticQueryHashes":["12478684","12478684","2882937274","2882937274","353167761","353167761"]}