*** title: Message Delivery description: How Moveworks delivers messages via the Events API --------------------------------------------------------------- ## Delivery Experience Messages are delivered to the user's preferred chat platform. The preferred chat platform is determined by the last place that the user sent a message to Moveworks. If you have deployed the [Embedded Assistant](/ai-assistant/ai-assistant/web-experiences/embedded-ai-assistant/overview), messages will be delivered to both the preferred chat platform and the Embedded Assistant. Messages do not respect business hours. ## Delivery Reliability When you make an API call to the Events API, the following actions are taken before returning: The API token is validated. The HTTP payload is validated against size constraints. Moveworks performs a syntactical validation of all emails. Moveworks cross-checks the list of recipients to ensure they exist and are allowlisted. Moveworks immediately **schedules** the messages for delivery. Depending on your request volume, your message may take a few minutes to be delivered. This is because chat platforms, like Teams & Slack, [limit the number of messages that can be sent per minute](/ai-assistant/ai-assistant/capabilities/notifications-settings/product-rate-limits). Even though messages are scheduled immediately, they are delivered asynchronously. This means the message can still fail under the following cases (non-exhaustive): * The user's email does not exist in your organization's identity system * The user blocked the bot * The chat platform timed out (note: Moveworks does apply retries for failure tolerance)