---
url: /process-functions/process-execute.md
description: Runs a process, in this model or another, and waits for it to finish.
---

# process.execute

Runs a process, in this model or another, and waits for it to finish. Set `fireAndForget` to start it without waiting.

```js
process.execute(processNameOrId)
process.execute(processNameOrId, fireAndForget)
process.execute(modelNameOrId, processNameOrId)
process.execute(modelNameOrId, processNameOrId, fireAndForget)
process.execute(processNameOrId, parameters)
process.execute(processNameOrId, parameters, fireAndForget)
process.execute(modelNameOrId, processNameOrId, parameters)
process.execute(modelNameOrId, processNameOrId, parameters, fireAndForget)
```

## Parameters

| Parameter | Type | Description |
|---|---|---|
| `modelNameOrId` | `string` | Optional. The model's name or id. Defaults to the current model. |
| `processNameOrId` | `string` | The process's name or id. |
| `parameters` | `object` | Optional. The parameters to pass to the process, keyed by parameter name. |
| `fireAndForget` | `boolean` | Optional. `true` to start the process without waiting for it to finish. Defaults to `false`. |

## Returns

&#x20;

The job id of the run, or `null` when the model or process can't be found or the parameters aren't valid. The reason is written to the process log.

The job id is returned even if the process fails. Pass it to [process.status](/process-functions/process-status) to check how the run went.

::: details Before v3.2.0
Returns `true` if the process ran successfully, otherwise `false`.
:::

## Examples

```js
// Execute a process.
const jobId = process.execute("yourProcess");
console.log(jobId); // the job id, or null
```

```js
// Execute a process within a specific model.
const jobId = process.execute("yourModel", "yourProcess");
```

```js
// Execute a process with parameters.
const parameters = { "param1": "value1", "param2": "value2" };
const jobId = process.execute("yourProcess", parameters);
```

```js
// Check whether the process succeeded.
const jobId = process.execute("yourProcess");
if (jobId === null || !process.status(jobId).success) {
    console.log("yourProcess failed");
}
```

## Related

* [process.status](/process-functions/process-status)
* [process.exists](/process-functions/process-exists)
* [process.fork](/process-functions/process-fork)
