# Post App Notification

Sends an event notification to the App, causing the **App Notified** event to be triggered on the specified forms.

Action available for the following operating systems:

![](/files/-MGIiDGuNcrVFP-DbUma)

### Parameters

* **Notify**
  * *Top Form -* The notification will be sent only to the top form.
  * *First Form -* The notification will be sent only to the first form of the App.
  * *Topest Form with event -* The notification will be sent only to the topest form that has the event.\
    If the top form does not have the event, the the previous form will be used, if the previous form does not have the event, then its previous form will be used, and so on, until a form is found that has the event.
  * *Top or First -* If the Top form has the event, than the Top form event will be executed, if not, then the event will be executed in the application top form.
  * *All Forms -* The event will be executed in all open forms that have the event.<br>
* **Temporary Variables to set** - The list of values to pass in to the temporary variables of the event that will be executed.

{% hint style="info" %}
This action causes the **App Notified** event to be executed on the forms according to the **Notify** parameter.
{% endhint %}

{% hint style="info" %}
This action does not block, waiting for the **App Notified** event finishes execution. It posts the notification and returns so the current code continues to execute.
{% endhint %}

{% hint style="info" %}
It is normally used in services, when something happens that you want to notify the user in the App. Since services cannot use User Interface, they need to send notifications to the App using this action.
{% endhint %}

{% hint style="info" %}
It is good practice to use on of the variables to specify the Type of event so you can filter and / or use multiple events if needed.\
\
If your App has different types of events that need to notify the user interface, they all need to be sent using this action, so using a variable to specify the event type is good practice.\
Even if you are not needing it at the moment, you may need it in the future.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.sysdevmobile.com/kalipso5/developing/form/actions/actions-description/group-others/post-app-notification.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
