# Flows

> Configure environment variables, memory, and timeout for Flows.

<partial content="config-env-vars">



</partial>

<callout icon="i-lucide-info">

For guidance on who should be able to create and edit flows, and how to secure webhook triggers, see [Security Best Practices](/guides/security/best-practices#flows).

</callout>

<table>
<thead>
  <tr>
    <th>
      Variable
    </th>
    
    <th>
      Description
    </th>
    
    <th>
      Default Value
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        FLOWS_ENV_ALLOW_LIST
      </code>
    </td>
    
    <td>
      A comma-separated list of environment variables.
    </td>
    
    <td>
      <code>
        false
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        FLOWS_RUN_SCRIPT_MAX_MEMORY
      </code>
    </td>
    
    <td>
      The maximum amount of memory the 'Run Script' operation can allocate in megabytes. Minimum <code>
        8
      </code>
      
      .
    </td>
    
    <td>
      <code>
        32
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        FLOWS_RUN_SCRIPT_TIMEOUT
      </code>
    </td>
    
    <td>
      The maximum duration the 'Run Script' operation can run for in milliseconds.
    </td>
    
    <td>
      <code>
        10000
      </code>
    </td>
  </tr>
</tbody>
</table>

## Using Environment Variables

Once enabled via the `FLOWS_ENV_ALLOW_LIST` variable, environment variables can be accessed through the `$env` object within the passed `data` or through `process.env`. For example:

```js
const publicUrl = data.$env.PUBLIC_URL;
```
