Documentation
Learn how Vortexify organizes workspace data, connectors, tables, syncs, schemas, and downstream workflows.
A high-level overview of how data moves through Vortexify, from external systems into workspace resources.
Vortexify is a workspace platform for connecting external data, preparing that data into usable workspace resources, and making it available for downstream workflows.
Core idea
Connectors bring data into the workspace. Tables prepare and expose that data. Workflows and downstream resources can then use the prepared workspace data.
| Layer | Purpose |
|---|---|
| Connectors | Connect to external systems and sync source data. |
| Streams | Define which files, tables, sheets, or records to ingest. |
| Sync jobs | Move data from the connected source into the workspace. |
| Tables | Prepare synced or uploaded data for preview and use. |
| History and logs | Help users monitor processing and troubleshoot issues. |
Connectors allow you to connect external data sources to your workspace and sync data into Vortexify.
Each connector represents a configured source system, such as a database, warehouse, file storage provider, object storage bucket, file app, or ERP system. Once a connector is configured and activated, it can sync data into your workspace so the data can be used by downstream resources and workflows.
Draft status
After creation, the connector starts in Draft status until the required configuration is provided. A connector must be configured and activated before it can run sync jobs.
You can update a connector’s configuration from the connector detail page. The exact setup fields depend on the connector type.
| Field type | Examples |
|---|---|
| Connection details | Hostnames, ports, databases, buckets, folders, drives, or account identifiers. |
| Authentication | API keys, OAuth credentials, usernames, passwords, private keys, or service account credentials. |
| Sync settings | Tables, paths, streams, filters, or connector-specific sync options. |
| Streams | Files, folders, tables, collections, sheets, or datasets to ingest. |
OAuth connectors
Some connectors support OAuth-based authentication. For those connectors, use the OAuth connection button instead of manually entering credentials.
Sensitive values
When configuration is saved, Vortexify validates and stores the connector settings. Sensitive values may be hidden or masked after saving.
After correcting the issue
Save the configuration again to revalidate the connector.
Connector status helps you understand whether the connector is ready to sync, currently syncing, or blocked by an error.
A connector is in Draft status when it has been created but has not yet been fully configured.
A connector is in Pending status after its source configuration has been saved but before the connector has been activated.
Next step
Select Activate when you are ready to enable syncing.
A connector is Active when it has been configured and activated successfully.
A connector may show an error if configuration, activation, source discovery, or sync execution fails.
Streams define what data the connector should ingest. A stream may represent a table, database object, collection, file, file group, folder, sheet, or another source-specific unit of data.
File-based connectors require one or more stream definitions. A file-based stream identifies the files or file-like objects to sync.
| Stream setting | Description |
|---|---|
| Stream name | A clear name used to identify connector outputs. |
| Folder, drive, bucket, or path | The location to search within. |
| File pattern | The file matching pattern for the stream. |
| File format | The source file format, such as CSV, JSON, or Excel. |
| Sheet name | The sheet to sync for spreadsheet-based sources. |
| Delimiter or parsing options | Settings for parsing structured files. |
| Header configuration | Rules for interpreting file headers. |
| Schema inference settings | Rules for detecting the output schema. |
Some file-based connectors support glob inputs. A glob is a file matching pattern that tells the connector which files to include in a stream.
| Glob pattern | What it matches |
|---|---|
| *.csv | All CSV files in the selected folder. |
| *.json | All JSON files in the selected folder. |
| sales_*.csv | CSV files that start with sales_. |
| 2025/*.csv | CSV files inside the 2025 folder. |
| 2025/*/*.csv | CSV files one folder below 2025, such as monthly folders. |
| **/*.csv | CSV files in the selected folder and all nested subfolders. |
| reports/**/*.xlsx | Excel files anywhere under the reports folder. |
| customer_{us,eu}.csv | Files named customer_us.csv or customer_eu.csv, if brace patterns are supported for the connector. |
Best practice
Use specific glob patterns whenever possible. Broad patterns can increase sync time or ingest unrelated data.
For example, if your source folder contains these files:
/orders/2025/01/orders.csv
/orders/2025/02/orders.csv
/orders/2025/03/orders.csv
/orders/archive/2024/orders.csvYou could use this pattern:
orders/2025/**/*.csvResult
This matches CSV files under the orders/2025 folder, including files in nested monthly folders.
Database connectors use streams to identify the tables or database objects to ingest. A database stream typically represents a table, collection, or equivalent source object.
Refresh behavior
Database streams are refreshed during sync so the workspace output reflects the latest synced version of the selected source data.
Sync jobs move data from the connected source into your workspace. A connector must be Active before sync jobs can run.
Manual syncs
Manual syncs are useful when you want to refresh data immediately without waiting for the next scheduled run.
| Schedule mode | Description |
|---|---|
| Manual | Syncs only run when started by a user. |
| Cron | Syncs run according to a cron expression. |
0 */6 * * *Cron limits
Cron schedules must meet the minimum interval allowed by your organization plan. If the schedule is too frequent, the connector will return a validation error.
| Status | Meaning |
|---|---|
| Pending | The sync job has been created but has not completed. |
| Running | The sync job is currently in progress. |
| Succeeded | The sync completed successfully. |
| Failed | The sync encountered an error. |
| Cancelled | The sync was cancelled. |
| Incomplete | The sync did not fully complete. |
| Metric | Useful for |
|---|---|
| Bytes synced | Estimating sync size, monitoring data volume, identifying unexpectedly large or small syncs, and comparing sync activity across time periods. |
| Rows synced | Confirming expected data was ingested, detecting empty or partial syncs, monitoring source volume, and comparing sync results across streams. |
| Relational database | Identifier |
|---|---|
| Microsoft SQL Server | mssql |
| MySQL | mysql |
| PostgreSQL | postgres |
| NoSQL database | Identifier |
|---|---|
| MongoDB | mongodb_v2 |
| Azure Table Storage | azure_table |
| Data warehouse | Identifier |
|---|---|
| BigQuery | bigquery |
| Redshift | redshift |
| Snowflake | snowflake |
| ERP system | Identifier |
|---|---|
| NetSuite | netsuite |
| Oracle | oracle |
| Object storage | Identifier |
|---|---|
| Amazon S3 | s3 |
| Azure Blob Storage | azure_blob_storage |
| File app | Identifier |
|---|---|
| Google Sheets | google_sheets |
| File storage | Identifier |
|---|---|
| Microsoft SharePoint | microsoft_sharepoint |
| Google Drive | google_drive |
| Microsoft OneDrive | microsoft_onedrive |
Urgent connector needs
For urgent connector needs, include the business use case and target timeline in your request.
Tables are structured datasets in your workspace. They can be created from connector syncs or uploaded files.
A table can be created from data synced through a connector or from an uploaded file. Once a table is created, Vortexify prepares the data so it can be previewed, explored, filtered, sorted, and used by downstream workflows.
Tables can be created in two main ways: ingesting from a connector or uploading files. The creation method determines where the data comes from and how the table is updated over time.
| Creation method | Best for |
|---|---|
| Ingest from Connector | Data that lives in an external system and should stay connected to the source. |
| Upload Files | One-off datasets, local CSVs, exports, and manually prepared analysis files. |
Connector-ingested tables are created from connector streams. When a connector sync runs, each configured stream can produce a table.
Uploaded tables are created from files added directly to the workspace. Upload-based tables are useful when you have a local CSV file or exported dataset that you want to inspect, transform, or use in Vortexify.
Before uploading
Check that the file uses a supported format, has clear column headers, has a consistent structure, and does not mix unrelated datasets.
The table page lets you inspect data, schema, metadata, and history.
The main table view shows a preview of the table’s records. The preview is designed for browsing and validating table contents. Very large tables may show a limited preview rather than every row.
Tables support filtering and sorting from the table view. Filters and sorting affect the preview experience. They do not modify the underlying table data.
The schema describes the structure of a table. Each column has a name and a type. Column types help Vortexify understand how values should be displayed, filtered, sorted, and used in downstream workflows.
| Type | Description | Examples |
|---|---|---|
| String | Text values, labels, identifiers, names, categories, or mixed text. | customer_name, email, status, account_id |
| Number | Numeric values for calculations, comparisons, or aggregation. | amount, quantity, score, price |
| Boolean | True or false values. | is_active, has_paid, approved |
| Date | Calendar dates without a required time of day. | 2026-05-28, 01/15/2026 |
| Datetime | Date and time values, such as timestamps or event times. | 2026-05-28 14:30:00, 2026-05-28T18:30:00Z |
| JSON / Object | Structured or nested values. | { "plan": "pro", "region": "us" } |
| Unknown | Values that could not be confidently classified. | Mixed, inconsistent, or ambiguous values |
When a table is created, Vortexify automatically reviews the data and infers a type for each column. Type inference works best when values in a column are consistent.
Identifiers and codes
Identifiers and codes are often best understood as strings, even when they contain only numbers. ZIP codes, account IDs, invoice numbers, and product codes may contain leading zeros or formatting that should be preserved.
The metadata tab shows table-level information, including details such as description, table type, created date, last updated date, last synced date, row count, column count, and ingest type.
| Ingest type | Meaning |
|---|---|
| Connector Ingest | The table was created from a connector stream. |
| Upload | The table was created from an uploaded file. |
| Snapshot | The table reflects a synced snapshot of source data. |
| Incremental | The table is updated incrementally, when supported. |
The history tab shows table-related jobs. Use history to understand when a table was created, updated, synced, or reprocessed.
Discovery jobs prepare table data after it is uploaded or synced. A discovery job inspects the table data, infers the schema, prepares the table for display, and makes the table available in the workspace.
| Status | Meaning |
|---|---|
| Created | The job has been created. |
| Pending | The job is waiting to run. |
| Running | The job is currently processing. |
| Success | The job completed successfully. |
| Failed | The job encountered an error. |
While discovery is running
The table may show an initializing or loading state. If discovery succeeds, the table becomes available for preview. If discovery fails, the table page may show an error state with logs.
Connector-ingested tables may also show sync jobs. A sync job pulls data from the connected source. After the sync completes, a discovery or processing job prepares the resulting table for display.
| Status type | Meaning |
|---|---|
| Sync status | Whether the source data synced successfully. |
| Discovery status | Whether the synced data was successfully processed into a table. |
Important distinction
A connector sync can succeed while table discovery fails. When troubleshooting connector-ingested tables, review both the sync history and discovery job logs.
| State | Meaning |
|---|---|
| Initializing | The table is being created or prepared. |
| Loading data | The table exists and the application is loading preview, schema, or metadata. |
| Ready | The table is available for preview. |
| Updating | The table is available, but a newer discovery or sync job may be running. |
| Last sync failed | The last available table data can still be viewed, but the most recent sync or processing attempt failed. |
| Fatal error | The table cannot be rendered because discovery or processing failed and no usable table version is available. |
| Area | Best practices |
|---|---|
| Connector-ingested tables | Keep streams focused, use separate streams for different structures, check sync history when data looks stale, and review discovery logs when a synced table does not display correctly. |
| Uploaded tables | Upload clean CSV files, use clear unique column headers, avoid mixing datasets, keep date and number formats consistent, and remove summary rows or notes. |
| Schema quality | Use consistent values, keep IDs and codes clearly formatted, avoid mixing types in one column, and split unrelated datasets into separate tables. |
| Issue | What to check |
|---|---|
| The table is stuck initializing | Check table history to see whether a job is pending or running. |
| The table failed to load | Refresh the page. If the issue continues, check the latest discovery job logs. |
| The schema looks incorrect | Review the source data for inconsistent values. |
| The row count looks wrong | Check whether filters are active. For connector tables, check latest sync status and last synced time. |
| A connector table is stale | Open table history and review the latest sync job, then rerun the connector if needed. |
| An uploaded file did not create a usable table | Confirm the file is a valid CSV with headers and consistent rows and columns, then review discovery logs. |
Apps let you build custom, interactive web applications on top of the data in your workspace.
An app can combine tables, custom backend functions, user inputs, charts, dashboards, workflows, and external actions into a single user-facing interface. Apps are designed for cases where a table or static report is not enough and you need an interactive experience for exploring, transforming, or operationalizing data.
Apps can evolve over time
Apps can be built with AI, edited manually, previewed in the browser, versioned, and deployed.
The app builder is the workspace where you design, edit, test, and publish an app.
| Builder area | Purpose |
|---|---|
| AI chat | Plan and build with AI. |
| Planning view | Organize app inputs, functions, and structure. |
| Preview | Run and test the app interface. |
| Code | Edit the frontend app files. |
| Variables | Manage data and function inputs. |
| AI Context | Guide the AI builder. |
| Function Playground | Configure and test backend functions. |
| Function Code | Edit backend function logic. |
| Function AI Context | Plan and guide individual functions. |
| Settings | Configure sharing, access, icon, and publishing settings. |
| Versions | Save and switch between app versions. |
| Publish | Deploy a selected version. |
| Part | Description |
|---|---|
| Frontend Interface | The user-facing application that people interact with in the browser. |
| Custom Backend Functions | Optional backend logic used for advanced processing, scheduled work, external API calls, secure credentials, or compute-heavy tasks. |
The AI builder helps you create and modify apps from natural language instructions. It works best when you describe the app goal, the intended users, the data available, and the workflow the app should support.
Use Plan mode when you want AI to think through what should be built before making implementation changes. In Plan mode, AI focuses on updating the application and function specifications.
When to use Plan mode
Use Plan mode when the request is ambiguous or architectural.
Use Build mode when you want AI to make implementation changes. Build mode works best when the plan is already clear.
Apps maintain planning context for the frontend and for each custom function. These specs help AI make consistent changes over time. If the intended behavior changes, update the relevant spec before building.
| Spec | Describes |
|---|---|
| App spec | Goal, overview, layout, design requirements, inputs, required packages, frontend sections, data behavior, function behavior, and known constraints. |
| Function spec | Goal, overview, inputs, output, required packages, runtime settings, logic description, credential requirements, scheduling behavior, and testing expectations. |
The AI Context tab stores additional guidance for the AI builder. Good AI context helps the builder make better decisions and reduces repeated instructions.
This app is for sales managers. Prioritize clarity over density. Use plain-language labels. Revenue should always be shown in USD. Customer risk should be grouped into Low, Medium, and High.Initial version
New apps start from a default template and include an initial version. You can then add data, create functions, edit the frontend, and save new versions as the app evolves.
The planning view is the main workspace for organizing an app. From the planning view, you can add tables, create functions, open function configuration, open app code, or return to the app preview.
Apps can use two main input types: tables and functions. Tables provide data to the frontend interface and backend functions. Functions provide reusable backend logic that can be triggered from the app, tested in the builder, or scheduled to run automatically.
| Input type | Purpose |
|---|---|
| Tables | Provide data to the frontend interface and backend functions. |
| Functions | Provide backend logic that can be triggered, tested, or scheduled. |
Variable names
Each input has a variable name. Variable names are how the app and functions refer to the table or function.
The frontend interface is the user-facing part of the app. It controls what users see and interact with in the browser, including charts, tables, forms, buttons, filters, summaries, cards, layouts, and visualizations.
The Preview tab lets you run the app in an embedded browser view. Preview can be opened in different device modes to validate how the app behaves across screen sizes.
Preview logs help troubleshoot problems that prevent the app from rendering or behaving correctly. Logs are most useful when paired with a specific failing action.
The Code tab lets you edit the frontend app files. Most users should use AI to make code changes, but the code editor is available when manual edits are needed.
| Part | Purpose |
|---|---|
| Main app | Controls the top-level layout and combines all sections. |
| Components | Render visual sections such as charts, tables, cards, filters, and panels. |
| Hooks | Manage data loading, state, filtering, or reusable logic. |
Best practice
Keep the main app simple. Split complex visual sections into components and complex data logic into hooks.
The frontend can query tables that are attached to the app. Use table inputs when the app needs to display rows, render charts, filter records, sort records, run lightweight calculations, or let users explore a dataset.
Large datasets
Large datasets should be queried with limits and pagination rather than loading all rows at once.
The frontend can run custom backend functions that are attached to the app. A function can be run from the app, and the frontend can retrieve the function output and display it.
Apps can include forms for collecting user input. Form inputs may be passed into custom functions at runtime.
The Variables view shows the tables and functions available to the app. Each variable represents a resource that the app can use.
| Variable type | Represents |
|---|---|
| Table | A workspace table attached to the app. |
| Custom function | A backend function attached to the app. |
Custom backend functions let an app run server-side logic that is separate from the frontend interface. A function can process data, call external systems, use secure credentials, run on a schedule, or perform compute-heavy work that should not happen in the browser.
Do not overuse backend functions
Do not use a custom backend function for simple UI-only behavior, such as toggling a filter, changing a chart type, or formatting labels. Those can usually be handled in the frontend.
One major task per function
Use one function per major backend task. Clear function names make functions easier to understand, test, and connect to the frontend.
The Function Playground is where you configure and test a custom function. Use the playground before connecting a function to the app frontend.
| Input name | Type | Purpose |
|---|---|---|
| region | String | Limit the function to one region. |
| min_revenue | Float | Set a revenue threshold. |
| top_n | Integer | Control how many results to return. |
| customer_id | String | Run the function for one customer. |
Secrets are secure values used by a function at runtime. Use secrets when a function needs to connect to an external system securely.
| Secret name | Purpose |
|---|---|
| slack_webhook_url | Send messages to Slack. |
| salesforce_api_key | Query Salesforce. |
| openai_api_key | Call an external model provider. |
| internal_service_token | Authenticate to an internal API. |
Do not expose credentials
Do not place credentials directly in frontend code, app context, function specs, logs, or normal text fields. Use the Secrets manager in the Function Playground instead.
| Output type | Use when the function returns |
|---|---|
| JSON | Structured data such as dictionaries, nested results, recommendations, or grouped metrics. |
| String | A text result, summary, message, explanation, or generated report. |
| Integer | A whole number. |
| Float | A decimal number or score. |
| Dataframe | A table-like result that can be displayed or queried. |
Return type must match
The function’s returned value must match the selected output type. If the output type and returned value do not match, the function may fail or the app may not display the output correctly.
A function environment is the runtime used to execute the function. The Function Playground shows environment status so you know whether the function is ready to run.
| Status | Meaning |
|---|---|
| Ready | The function environment is available and can run. |
| Not initialized | The function environment has not been built yet. |
| Build required | The function code or packages changed and the environment must be rebuilt. |
| Update required | The environment exists but needs an image or memory update. |
| Building | The environment is being prepared. |
| Error | The environment could not be built or initialized. |
Apps support versions. A version captures the app configuration, frontend code, function configuration, function code, inputs, layout, and planning context at a point in time.
Apps can be previewed while building and deployed when ready. Preview is for development and testing. Publishing deploys a selected app version.
| State | Meaning |
|---|---|
| Ready for deployment | The app has not been deployed yet or is ready to deploy. |
| Deploying | Deployment is in progress. |
| Live | The app is deployed and available. |
| Error | Deployment failed and logs should be reviewed. |
| Cancelled | Deployment was stopped. |
The Settings action opens app-level settings. Settings may include app icon, app color, public status, sharing status, shared members, and deployment access.
Apps can use workspace tables as data inputs. Tables may come from uploaded files, connector-ingested data, or other workspace data sources.
| Use | Best for |
|---|---|
| Frontend | Displaying charts, filtering small result sets, sorting records, showing summary cards, changing visual states, and rendering tables. |
| Custom backend function | Querying external APIs, using credentials, processing large datasets, scheduled work, model scoring, complex reports, transformed data, and long-running logic. |
| Input type | Description | Example use |
|---|---|---|
| Table input | A table attached to the function. | Analyze orders or customers. |
| User input | A value provided when the function runs. | Date range, threshold, region. |
| Secret input | A secure credential configured in the function. | API key, token, webhook URL. |
A function returns a single output. The selected output type should match what the app needs.
Function schedules let backend logic run automatically. Use schedules for recurring work such as daily summaries, weekly reports, hourly monitoring, external API syncs, data quality checks, or recurring model scoring.
Each function run creates a job. Use jobs to understand what happened during a function run.
| Common status | Meaning |
|---|---|
| Created | The job has been created. |
| Pending | The job is waiting to run. |
| Running | The job is currently running. |
| Success | The job completed successfully. |
| Failed | The job failed. |
| Stopped | The job was stopped. |
| Area | Best practices |
|---|---|
| App design | Start with the user goal, keep the interface focused, put important information near the top, use clear labels, avoid too many raw fields, use filters for exploration, and use summaries for decisions. |
| Data inputs | Use clear variable names, attach only needed tables, confirm schemas, use backend functions for large joins, and use pagination or limits for large frontend queries. |
| AI building | Use Plan mode before major changes, Build mode for implementation, keep AI Context updated, ask AI to test, inspect logs, and save versions after meaningful progress. |
| Functions | Use clear names, keep one function focused on one task, use secrets for credentials, test functions before publishing, match returned values to selected output types, and use schedules only for reliable functions. |
| Versions | Save versions at stable milestones, use meaningful version messages, preview before publishing, publish only tested versions, and roll back if needed. |
| Issue | What to check |
|---|---|
| The app preview does not load | Refresh the preview and open preview logs. Check for frontend build errors, missing packages, invalid code, renamed variables, or preview environment issues. |
| The app shows no data | Check that the table is attached, the variable name is correct, the table has data, filters are not excluding records, the query limit is not too low, and the table is available. |
| A chart or table is blank | Check that expected columns exist, data types are compatible, the query returns rows, the correct table variable is used, and the component handles empty results. |
| A function does not run | Check that the function environment is ready, required inputs are provided, secrets are configured, input tables are attached, output type matches, and logs show no errors. |
| Deployment failed | Open deployment logs. Common causes include frontend build errors, missing packages, function deployment errors, environment issues, version mismatch, or deployment configuration issues. |
Administrative settings for managing your organization, workspaces, members, billing, usage, plans, permissions, and security.
The Platform section covers the administrative settings that control how your organization, workspaces, members, billing, usage, and security are managed.
| Level | Purpose |
|---|---|
| Organization | The top-level account that controls billing, usage, members, plan limits, and shared administrative settings. |
| Workspace | The place where users create and manage resources such as connectors, tables, apps, files, and folders. |
An organization is the top-level container for your Praxis AI account. Most users belong to one organization, but some users may have access to multiple organizations.
| Section | Purpose |
|---|---|
| General | Manage organization identity and account information. |
| Members | Manage organization users and roles. |
| Billing & Usage | Manage plans, credits, seats, usage, and billing. |
The General section shows organization identity and high-level account information.
The organization name is visible to members of the organization. Use a clear name that identifies the company, team, or group using the platform.
The organization color is used as a visual identifier in the interface. Choose a color that helps distinguish the organization from other organizations or workspaces.
The plan badge shows the organization’s current plan. The current plan determines which features, limits, roles, schedules, and collaboration options are available.
| Status | Meaning |
|---|---|
| Active | The subscription is active. |
| Trialing | The organization is currently in a trial period. |
| Past due | Payment needs attention. |
| Incomplete | Subscription setup is incomplete. |
| Canceled | The subscription has been canceled. |
| Unpaid | Payment has not been completed. |
| Paused | The subscription is paused. |
Billing issue
If the organization has a billing issue, some paid features may become unavailable until the issue is resolved.
Credits are used for platform usage. Some AI actions, app-building actions, or compute-backed workflows may depend on available credits.
Low credit balance
If the organization runs out of credits, usage that requires credits may stop until more credits are added.
The Members section is used to manage who belongs to the organization.
| Role | Description |
|---|---|
| Owner | The primary organization administrator. Owners have the highest level of control. |
| Admin | Can manage organization settings and members, depending on permissions. |
| Member | Standard organization user. Access depends on workspace membership and role. |
Owner restrictions
Owners cannot be removed or downgraded by normal member management actions.
Seat capacity
The new member may be active or inactive depending on available seat capacity.
Organization admins can change member roles when permitted. Use role changes carefully because organization admins may be able to manage billing, members, and access settings.
Removing a member revokes their organization access. Before removing a member, consider whether they also have access to specific workspaces or deployed apps.
A member may appear inactive if the organization does not have enough seats. Inactive members do not count as fully active workspace participants until seat capacity is increased or other members are removed.
The Billing & Usage section shows the organization’s current plan, usage, seats, credits, and available plan options.
The current plan card shows your organization’s active plan and related details. Plans may include different limits for users, workspaces, apps, connectors, scheduled jobs, compute, memory, collaboration, roles, permissions, and support.
Billing may be monthly or yearly, depending on the selected plan. Some plans or add-ons may offer yearly pricing.
Inactive members
If the number of organization members exceeds the available seat capacity, some members may become inactive.
A workspace is where users create and manage resources. Each workspace has its own members, roles, settings, resources, and security configuration.
When to use workspaces
Use workspaces to separate teams, projects, clients, departments, or environments.
| Section | Purpose |
|---|---|
| Overview | Review high-level workspace activity and status. |
| General | Manage workspace identity. |
| People | Manage workspace members and access roles. |
| Security | Manage workspace security integration. |
The General section controls basic workspace identity.
The workspace name is visible to workspace members. Use a name that clearly identifies the team, project, or purpose.
The description is an optional short summary of the workspace. Use it to explain what the workspace is for.
Dashboards and analysis for customer retention and expansion.
Workspace for finance reporting, forecasting, and monthly close workflows.The workspace icon and color help identify the workspace visually. This setting may be shown as coming soon if it is not yet editable.
The workspace handle is a unique workspace identifier. This setting may be shown as coming soon if it is not yet editable.
The People section controls who has access to a workspace. Workspace access is separate from organization membership.
| Role | Description |
|---|---|
| Owner | Full control of the workspace. Usually assigned to the creator or primary administrator. |
| Admin | Can manage workspace members and settings. |
| Editor | Can create and edit workspace resources. |
| Viewer | Can view workspace resources but cannot make changes. |
Organization membership required
Only organization members can be added to a workspace.
Removing a workspace member revokes their access to that workspace. It does not necessarily remove them from the organization.
Unavailable actions
If a role or member action is unavailable, the organization may need to upgrade plans.
The Security section manages workspace security role status. This section includes Guardian, the workspace security integration used to validate and initialize workspace security roles.
| State | Meaning |
|---|---|
| Active | Workspace security roles are initialized and available. |
| Inactive | Workspace security roles are not fully initialized or need attention. |
Guardian helps prepare the workspace for secure compute and managed platform operations.
Guardian inactive
If Guardian is inactive, some compute-backed actions may fail until it is initialized.
If Guardian is already active, the action may show as Restart. Use restart when the workspace security role needs to be recreated, refreshed, or validated again.
Plans control which platform features are available to an organization. Plan availability and limits may change over time.
| Plan | Best for |
|---|---|
| Starter | Individual exploration and basic usage. |
| Pro | Individual users who need more features, connectors, and scheduled jobs. |
| Team | Small teams collaborating in a shared workspace. |
| Business | Larger teams needing roles, permissions, multiple workspaces, and stronger collaboration controls. |
| Enterprise | Advanced deployments, enterprise connectors, private cloud, compliance, and implementation support. |
Starter is the entry-level plan. It is best for individual users getting started with the platform.
Pro is designed for individual power users who need to build and run more complete workflows with connectors, apps, and schedules.
Team is designed for small-team collaboration in a shared workspace.
Business is designed for larger teams and more advanced workspace management.
Enterprise is designed for advanced organizational, deployment, compliance, and support requirements.
Some features are limited by plan. If an action is unavailable, check the current plan and available seats or credits.
| Plan | App limit |
|---|---|
| Starter | 5 apps. |
| Pro | 25 apps. |
| Team | 100 apps. |
| Business | No fixed standard limit. |
| Enterprise | Custom or no fixed standard limit. |
Connector availability depends on plan. Starter organizations may not be able to create connectors. Scheduled connector syncs may also depend on plan.
| Plan | Schedule behavior |
|---|---|
| Starter | Scheduling may be unavailable. |
| Pro | Scheduling available with a minimum interval. |
| Business | More frequent scheduling available. |
| Enterprise | More frequent scheduling available. |
Cron validation
If a cron schedule is too frequent, the platform will return a validation error.
Custom backend function compute options can depend on plan. Use the smallest compute and memory setting that supports the function reliably.
Workspace creation depends on plan. Lower-tier plans may be limited to the default workspace. Business and Enterprise plans are intended for organizations that need multiple workspaces.
Seats determine how many members can be active in an organization. The total available seats are based on included plan seats and additional purchased seats.
Some plans allow additional seats to be purchased. When additional seats are added, more organization members can become active.
Inactive members
If members appear inactive, check the organization’s seat capacity in Billing & Usage.
Credits are used for platform usage. A credit balance is shown in Organization settings. If the balance is low, the platform may show warnings. If the balance reaches zero, some actions may be blocked.
Permissions are controlled at both the organization and workspace levels.
| Role | Typical access |
|---|---|
| Owner | Full workspace control. |
| Admin | Manage members and settings. |
| Editor | Create and edit resources. |
| Viewer | View resources only. |
Viewer access
Some actions may be disabled for viewers. Disabled actions may show a tooltip explaining that viewer access is read-only.
When an organization is created, a default workspace is created automatically. The default workspace is the initial place where the organization owner can create and manage resources.
Plan behavior
Depending on the plan, the default workspace may be the only available workspace or the starting point before additional workspaces are created.
Multiple workspaces are useful for separating projects, teams, clients, or environments.
Plan requirement
Multiple workspaces may require a Business or Enterprise plan.
| Role | Use for |
|---|---|
| Viewer | Executives reviewing dashboards, stakeholders reading reports, or users who should not edit data or apps. |
| Editor | Analysts, builders, data operators, or users who manage connectors, tables, or apps. |
| Admin | Team leads, workspace managers, technical owners, or users responsible for access control. |
| Owner | Workspace creators, primary administrators, or accountable owners of workspace resources. |
| Area | Best practices |
|---|---|
| Organizations | Keep the organization name recognizable, maintain at least one active owner, review billing status regularly, keep credits above zero, monitor seat usage, remove unnecessary members, and use admin roles only for trusted users. |
| Workspaces | Use workspaces to separate teams or projects, give each workspace a clear name and description, add only needed members, use Viewer for read-only users, use Editor for builders, use Admin sparingly, review members periodically, and keep Guardian active. |
| Plans | Use Starter for exploration, Pro for individual production workflows, Team for small-team collaboration, Business for multiple workspaces and role management, and Enterprise for custom security, deployment, compliance, or support needs. |
| Billing and usage | Buy credits before the balance reaches zero, add seats before inviting additional users, review plan limits before building large workflows, upgrade when feature restrictions block expected work, and use annual billing when appropriate. |
| Issue | What to check |
|---|---|
| I cannot create a connector | Connector creation may not be available on the current plan. |
| I cannot schedule a connector sync | Scheduled connector syncs may not be available on the current plan, or the cron interval may be too frequent. |
| I cannot create another app | The organization may have reached its app limit. |
| I cannot create another workspace | Multiple workspaces may require a Business or Enterprise plan. |
| I cannot add a workspace member | Check whether the user is an organization member, seat capacity is available, the current plan supports workspace collaboration, and the selected role is allowed. |
| I cannot change a workspace role | Workspace role management may require a Business or Enterprise plan. |
| A member is inactive | The organization may not have enough seats. |
| A scheduled function cannot be enabled | Function schedules may not be available on the current plan, or the cron expression may be too frequent. |
| Heavy compute is unavailable | Heavy compute may require a higher plan. |
| A larger memory setting is unavailable | Memory settings are plan-gated. |
| Guardian is inactive | Open Workspace Settings → Security and initialize or restart Guardian. |
| Billing status is past due or unpaid | Open Billing & Usage and use the billing portal to update payment information. |
Plan-limit questions
For plan-limit questions, include the feature you need and the current plan shown in Billing & Usage.