# Run actions with an end user's connection

Call the Universal API with an Embedded installation ID to use one customer's app connection.

Pass an Embedded installation ID to the Universal API to run an action with that end user's connection. Use a server-side API key with Run Workflows access. Select an installation for the signed-in customer.

```bash
curl -X POST 'https://connect.mindcloud.co/v2/universal/apps/{app-slug}/actions/{action-slug}/run' \
  -H 'Authorization: Bearer <MINDCLOUD_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "installationId": "<installationId>",
    "endUserId": "<endUserId>",
    "arguments": {}
  }'
```

Replace both slugs with a published app and action. Fill `arguments` from that action's [Universal API reference](/docs/universal/rest/home/latest/introduction/browse-apps). The installation must contain a connected account for the action's app. Pass the stored MindCloud `endUserId` with `installationId` so the API checks that this installation belongs to the intended customer.

To list connections for one installation:

```bash
curl -G 'https://connect.mindcloud.co/v2/connections' \
  -H 'Authorization: Bearer <MINDCLOUD_API_KEY>' \
  --data-urlencode 'where=installationId=="<installationId>"'
```

If an installation has several connections for the same app, the API returns `CONNECTION_REQUIRED`. List that installation's connections, then send the selected `connectionId` alone. Do not send it with `installationId`; keep the selected ID tied to the same customer in your backend.

Keep the installation ID in your backend. It identifies which end user's account the action can use. For a browser SDK action with an end-user token, see the [legacy installation action endpoint](/docs/embedded/embedded-api/api-reference/run-an-app-action).