# Built-in activity field reference

Every declared field in the built-in database, file-storage, app-login, and app-registration activity forms.

Source: https://docs.rumata.dev/guides/controls-builtin-activities
Reviewed: 2026-09-06

## Before you start

- Open the named screen in Rumata. Available controls may depend on your account, permissions, and resource state.

<a id="database"></a>

## SqlExecutionEngine

Run a saved query, or deliberately accept [SQL](https://docs.rumata.dev/guides/controls-database#editor) through workflow input. Running can change database records.

| Control | What it does |
| --- | --- |
| query Id (queryId) | Choose the saved database instruction this step should execute. |
| db Connection Id (dbConnectionId) | Identify the database connection when you need to choose one explicitly. |
| schema Name (schemaName) | Choose the named area of the database containing your tables. |
| decode JWT (decodeJWT) | Check the caller’s signed app token so database work can use their identity. |
| session Variables (sessionVariables) | Provide named values that your database permission rules expect for this run. |
| return First Item Only (returnFirstItemOnly) | Return one record instead of a list. Use this only when the query is guaranteed to return one record. |
| strict Output Shape (strictOutputShape) | Report a mismatch between a single record and a list instead of automatically adjusting a one-record result. |
| factory Id (factoryId) | Identify the factory whose database or app sign-in key this step should use. |

<a id="file-storage-operations"></a>

## file-storage-operations

Read and write project files from a workflow. Required fields depend on the selected operation.

| Control | What it does |
| --- | --- |
| operation (operation) | Choose the file action: list names (list), read content (get), inspect metadata (head), write (put), delete, copy, move, check existence (exists), create a temporary download link (presign), or create an upload link (presign-upload). |
| project Storage Id (projectStorageId) | Choose the existing storage bucket for this operation. The caller or workflow must have access to it. |
| path (path) | Enter the stored file’s key, including any folder prefix. |
| prefix (prefix) | Limit the file listing to keys starting with this text. |
| continuation Token (continuationToken) | Use the continuation value returned by the previous listing to request its next page. |
| source Path (sourcePath) | Identify the existing file to copy or move. |
| destination Path (destinationPath) | Choose the destination key for the copied or moved file. |
| content (content) | Supply the file contents to write. |
| content Type (contentType) | Describe the file format, such as text/plain or application/json. Upload-link creation requires it. |
| size Bytes (sizeBytes) | For an upload link, supply the exact file size in bytes. The activity rejects uploads over 500 MB. |
| content Encoding (contentEncoding) | Choose how supplied content is read: ordinary text, base64-encoded bytes, or structured JSON. |
| output Encoding (outputEncoding) | Choose how downloaded content is returned: text, base64, or JSON. |
| overwrite (overwrite) | Allow an existing destination file to be replaced. Leave off when replacement is not intended. |
| expiry Seconds (expirySeconds) | Choose how long the temporary link should work. The maximum is 900 seconds, or 15 minutes. |

<a id="user-login"></a>

## user-login

Configure sign-in for users of your own app. This is separate from signing into Rumata. The returned token proves app identity; fetch profile data separately.

| Control | What it does |
| --- | --- |
| schema Name (schemaName) | Choose the named area of the database containing your tables. |
| db Connection Id (dbConnectionId) | Identify the database connection when you need to choose one explicitly. |
| table Name (tableName) | Name the table that stores your app’s users. |
| identifier Field (identifierField) | Name the user field used to identify the account, such as email. The incoming request must use the same field name. |
| password Field (passwordField) | Name the database column holding the protected password value. Incoming requests still use the field named password. |
| is Verified Field (isVerifiedField) | Identify a verification-status column. The current login implementation does not enforce it; registration writes true when configured. This is not an email-verification feature. |
| requires Approval Field (requiresApprovalField) | Identify the column recording whether an account still needs approval. Login is blocked while its value is true. |
| jwt Payload Fields (jwtPayloadFields) | Choose actual user-table fields to include in the signed token returned to your app. Include only information that should be carried in that token. |
| factory Id (factoryId) | Identify the factory whose database or app sign-in key this step should use. |

<a id="user-register"></a>

## user-register

Configure sign-in for users of your own app. This is separate from signing into Rumata. The returned token proves app identity; fetch profile data separately.

| Control | What it does |
| --- | --- |
| schema Name (schemaName) | Choose the named area of the database containing your tables. |
| db Connection Id (dbConnectionId) | Identify the database connection when you need to choose one explicitly. |
| table Name (tableName) | Name the table that stores your app’s users. |
| identifier Field (identifierField) | Name the user field used to identify the account, such as email. The incoming request must use the same field name. |
| password Field (passwordField) | Name the database column holding the protected password value. Incoming requests still use the field named password. |
| jwt Payload Fields (jwtPayloadFields) | Choose actual user-table fields to include in the signed token returned to your app. Include only information that should be carried in that token. |
| is Verified Field (isVerifiedField) | Identify a verification-status column. The current login implementation does not enforce it; registration writes true when configured. This is not an email-verification feature. |
| requires Approval Field (requiresApprovalField) | Identify the column recording whether an account still needs approval. Login is blocked while its value is true. |
| is Verified Default (isVerifiedDefault) | This setting is currently not applied. It does not make verification mandatory. |
| requires Approval Default (requiresApprovalDefault) | Choose whether newly registered accounts should require approval when an approval column is configured. |
| additional Fields (additionalFields) | Choose additional incoming fields to copy into the user record. Map different input and database names when needed. |
| factory Id (factoryId) | Identify the factory whose database or app sign-in key this step should use. |

## Related guides

- [Workflow step settings and data controls](https://docs.rumata.dev/guides/controls-workflow-nodes)
- [Activity creation and deployment controls](https://docs.rumata.dev/guides/controls-activities)
- [Secret controls](https://docs.rumata.dev/guides/controls-secrets)
- [Groups, invitations, and access controls](https://docs.rumata.dev/guides/controls-access)