# Run service

The Run service action node calls a service [endpoint](/reference/services/service-endpoints.md) from within an [app](/reference/apps.md) or from another [service](/reference/services.md).

## Usage

This action node is useful in the following cases:

* When logic should be shared across apps within a solution. The logic can be maintained in services and called from any app using Run service.
* When a service requires another service to run, for example if an access token for an external API needs to be refreshed.
* When it is not desirable to grant certain object class permissions to a client user but they need the ability to trigger a modification in the database. Using the **Run as Service Account** property, the service can be called by the selected [service account](/reference/security/service-accounts.md) and will then run under the permissions granted to that account. A reference to the client user can be included in the call to make a change in the context of that user. The client user must have a role with the [permission](/reference/security/permissions.md) **Act as Service Account** > `SERVICE_ACCOUNT`.
* If you are utilizing **Run service** from an [Unauthenticated App](/how-to/authentication-and-access-control/unauthenticated-access.md), you need to apply the Service Security setting [Unauthenticated Access](/reference/configuration/environments.md#service-security).

{% hint style="info" %}
**Good to know**

Run service only supports endpoints that have the GET method selected. If an endpoint has query parameters, you can set or bind values for each parameter in Run service.

If you need to post data to a service, you should instead configure a [web request](/library/action-nodes/web-request.md) that points to the endpoint URL.
{% endhint %}

## Properties

<table><thead><tr><th width="239">Property</th><th>Description</th></tr></thead><tbody><tr><td><strong>Run Asynchronous</strong></td><td>Immediately proceed to the next action node instead of waiting for this action node to complete. The action node will succeed even if the service fails.<br><br>Use this option if the service takes a long time and blocks render operations. Do not use this option if the action nodes that follow depend on changes made inside the service.</td></tr><tr><td><strong>Service</strong></td><td>Select the <a href="/pages/-MiQRwp6QPjGTWLYBkp-">service</a> containing the endpoint the action node will call.</td></tr><tr><td><strong>Endpoint</strong></td><td>Select the <a href="/pages/WBK6hbl06Ts0gTgdG91H">endpoint</a> the action node will call.</td></tr><tr><td><strong>Run as Service Account</strong></td><td>Select a <a href="/pages/-MiQUQ8Y9Fo8zhbn5r_m">service account</a> to run the service on behalf of the user. The <a href="/pages/-MiQUV-zWAJ1KTzWnz6u">user</a> triggering the action must have the necessary <a href="/pages/cNDriKas8w8Qh8av1nZj">permissions</a> to act as the service account and the service account must have the permissions to run the service and access and manipulate the relevant data.</td></tr><tr><td><strong>Use App Time Zone</strong></td><td>Call the endpoint using the app's time zone and override the default time zone set under <a href="/pages/wIblUWjJNagQg7u2xNgn">Service settings</a>.</td></tr><tr><td><strong>Parameters</strong></td><td><em>Available if the endpoint has query parameters.</em><br><br>Set values for any query parameters. </td></tr></tbody></table>


---

# 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://docs.appfarm.io/library/action-nodes/run-service.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.
