Hex Block
Run and manage Hex projects
The Hex block integrates Hex into your workflow so you can trigger project runs, track execution status, and administer Hex workspace resources programmatically. Reach for it when you need to kick off a Hex notebook or published app, poll its status, manage collections, groups, users, and data connections — all from inside a Zelaxy workflow.
Overview
| Property | Value |
|---|---|
| Type | hex |
| Category | tools |
| Color | #14151A |
When to Use
- Trigger a Hex project run with dynamic input parameters and capture the run URL for downstream use
- Poll a run's status (pending, running, completed, errored, killed) or list all runs for a project
- Cancel an in-progress run to prevent unnecessary compute
- Fetch or update project metadata, including custom workspace status labels
- Inspect the database tables queried by a Hex project (
get_queried_tables) - Administer Hex resources: list or get users, groups, collections, and data connections, or create a new collection
Configuration
Operation
Selects which Hex API action to perform. Required; defaults to run_project.
| Label | ID |
|---|---|
| Run Project | run_project |
| Get Run Status | get_run_status |
| Get Project Runs | get_project_runs |
| Cancel Run | cancel_run |
| List Projects | list_projects |
| Get Project | get_project |
| Update Project | update_project |
| Get Queried Tables | get_queried_tables |
| List Users | list_users |
| List Groups | list_groups |
| Get Group | get_group |
| List Collections | list_collections |
| Get Collection | get_collection |
| Create Collection | create_collection |
| List Data Connections | list_data_connections |
| Get Data Connection | get_data_connection |
API Key
Your Hex API token. Required for all operations. Stored as a password (hidden) field. Use {{HEX_API_TOKEN}} to inject from your environment.
Project ID
The project UUID. Required for: run_project, get_run_status, get_project_runs, cancel_run, get_project, update_project, get_queried_tables. Placeholder: Enter project UUID.
Run ID
The run UUID. Required for: get_run_status, cancel_run. Placeholder: Enter run UUID.
Input Parameters
JSON object of input parameter values to pass into a project run. Only shown for run_project. Supports AI-assisted generation (Wand) to produce the JSON object from a natural-language description. Placeholder: {"param_name": "value"}.
Status
The new project status name (a custom workspace status label). Required for update_project. Placeholder: Enter status name (e.g., custom workspace status label).
Status Filter (runs)
Filters runs returned by get_project_runs. Only shown for that operation.
| Label | ID |
|---|---|
| All | `` (empty) |
| Pending | PENDING |
| Running | RUNNING |
| Completed | COMPLETED |
| Errored | ERRORED |
| Killed | KILLED |
Group ID
The group UUID. Required for get_group. Placeholder: Enter group UUID.
Collection ID
The collection UUID. Required for get_collection. Placeholder: Enter collection UUID.
Collection Name
The name of the new collection. Required for create_collection. Placeholder: Enter collection name.
Description
An optional description for the new collection. Only shown for create_collection. Placeholder: Optional description for the collection.
Data Connection ID
The data connection UUID. Required for get_data_connection. Placeholder: Enter data connection UUID.
Advanced: Dry Run
Toggle (switch). When enabled, performs a dry run of the project without actually executing notebook cells. Only shown for run_project.
Advanced: Update Cache
Toggle (switch). When enabled, updates cached results after execution. Deprecated. Only shown for run_project.
Advanced: Update Published Results
Toggle (switch). When enabled, updates the published app's results after execution. Only shown for run_project.
Advanced: Use Cached SQL Results
Toggle (switch). When enabled, reuses cached SQL results instead of re-running queries. Only shown for run_project.
Advanced: Limit
Maximum number of results to return. Shown for: list_projects, get_project_runs, get_queried_tables, list_users, list_groups, list_collections, list_data_connections. Placeholder: 25.
Advanced: Offset
Offset for paginated results. Only shown for get_project_runs. Placeholder: 0.
Advanced: Include Archived
Toggle (switch). When enabled, includes archived projects in the results. Only shown for list_projects.
Advanced: Status Filter (projects)
Filters projects returned by list_projects by publish status.
| Label | ID |
|---|---|
| All | `` (empty) |
| Published | PUBLISHED |
| Draft | DRAFT |
Advanced: Filter by Group
Optional group UUID used to filter users by group membership. Only shown for list_users. Placeholder: Group UUID (optional).
Inputs & Outputs
-
Inputs:
operation(string) — Operation to performapiKey(string) — Hex API tokenprojectId(string) — Project UUIDrunId(string) — Run UUIDinputParams(json) — Input parameters for project rundryRun(boolean) — Perform a dry run without executing the projectupdateCache(boolean) — (Deprecated) Update cached results after executionupdatePublishedResults(boolean) — Update published app results after executionuseCachedSqlResults(boolean) — Use cached SQL results instead of re-running queriesprojectStatus(string) — New project status namelimit(number) — Max number of results to returnoffset(number) — Offset for paginated resultsincludeArchived(boolean) — Include archived projectsstatusFilter(string) — Filter projects by statusrunStatusFilter(string) — Filter runs by statusgroupId(string) — Filter users by group UUIDgroupIdInput(string) — Group UUID for get groupcollectionId(string) — Collection UUIDcollectionName(string) — Collection namecollectionDescription(string) — Collection descriptiondataConnectionId(string) — Data connection UUID
-
Outputs:
projectId(string) — Project UUIDrunId(string) — Run UUIDrunUrl(string) — URL to view the runrunStatusUrl(string) — URL to check run statusprojectVersion(number) — Project version numberstatus(json) — Project status object or run status stringstartTime(string) — Run start timeendTime(string) — Run end timeelapsedTime(number) — Elapsed time in secondstraceId(string) — Trace ID for debuggingid(string) — Resource IDtitle(string) — Project titlename(string) — Resource namedescription(string) — Resource descriptiontype(string) — Project type (PROJECT or COMPONENT)createdAt(string) — Creation timestampupdatedAt(string) — Last update timestamplastEditedAt(string) — Last edited timestamplastPublishedAt(string) — Last published timestamparchivedAt(string) — Archived timestamptrashedAt(string) — Trashed timestampprojects(json) — List of projectsruns(json) — List of runsusers(json) — List of usersgroups(json) — List of groupscollections(json) — List of collectionsconnections(json) — List of data connectionstables(json) — List of queried tablescategories(json) — Project categoriescreator(json) — Creator detailsowner(json) — Owner detailstotal(number) — Total results returnedsuccess(boolean) — Whether the operation succeededconnectViaSsh(boolean) — SSH tunneling enabledincludeMagic(boolean) — Magic AI features enabledallowWritebackCells(boolean) — Writeback cells allowed
Tools
- Run Project (
hex_run_project) — Triggers a run of a Hex project via POST to/projects/{projectId}/runs. Accepts optional input parameters, dry-run flag, cache settings, and published-results flag. ReturnsprojectId,runId,runUrl,runStatusUrl,traceId, andprojectVersion. - Get Run Status (
hex_get_run_status) — Gets the current status of a specific run (GET/projects/{projectId}/runs/{runId}). Returns status, start/end times, elapsed time, and trace ID. - Get Project Runs (
hex_get_project_runs) — Lists all runs for a project with optional pagination (limit,offset) and status filtering. Returnsrunsarray andtotal. - Cancel Run (
hex_cancel_run) — Cancels an in-progress run via DELETE to/projects/{projectId}/runs/{runId}. Returnssuccess,projectId, andrunId. - List Projects (
hex_list_projects) — Lists all Hex projects with optionallimit,includeArchived, andstatusFilterquery params. Returnsprojectsarray andtotal. - Get Project (
hex_get_project) — Fetches full metadata for a single project by ID. Returnsid,title,description,status,type,creator,owner,categories, timestamps. - Update Project (
hex_update_project) — Updates a project's status via PATCH to/projects/{projectId}. Returns the full updated project object. - Get Queried Tables (
hex_get_queried_tables) — Returns the list of database tables queried by a project (tablesarray andtotal). - List Users (
hex_list_users) — Lists workspace users with optionallimit, sort, andgroupIdfilter. Returnsusersarray andtotal. - List Groups (
hex_list_groups) — Lists workspace groups with optionallimitand sort params. Returnsgroupsarray andtotal. - Get Group (
hex_get_group) — Fetches a single group by ID. Returnsid,name,createdAt. - List Collections (
hex_list_collections) — Lists Hex collections with optionallimitandsortBy. Returnscollectionsarray andtotal. - Get Collection (
hex_get_collection) — Fetches a single collection by ID. Returnsid,name,description,creator. - Create Collection (
hex_create_collection) — Creates a new collection with a requirednameand optionaldescription. Returnsid,name,description,creator. - List Data Connections (
hex_list_data_connections) — Lists data connections with optionallimit,sortBy,sortDirection. Returnsconnectionsarray andtotal. - Get Data Connection (
hex_get_data_connection) — Fetches a single data connection by ID. Returnsid,name,type,description,connectViaSsh,includeMagic,allowWritebackCells.
YAML Example
hex_1:
type: hex
name: "Hex"
inputs:
operation: "run_project"
apiKey: "{{HEX_API_TOKEN}}"
projectId: "00000000-0000-0000-0000-000000000000"
inputParams: '{"date_range": "2024-01-01", "department": "engineering"}'
dryRun: false
updatePublishedResults: true
connections:
outgoing:
- target: next-block-id