Welcome to UnpackData

UnpackData is an all-in-one no-code platform for turning data into working applications. Connect to databases and APIs, build queries, charts, and dashboards, collect form submissions, send scheduled or conditional alerts, and automate multi-step workflows, all from your browser.

Whether you're consolidating reporting, replacing a stack of spreadsheets, or standing up an internal tool, every piece, from data access and visualization to data capture, notifications, and process automation, lives in one portal. This guide walks through each feature with step-by-step instructions. If you already know what you need, use the sidebar or press / to search.

How UnpackData works

Pull in data from existing sources or generate tables from scratch, shape it with queries, then turn the results into charts, alerts, lists, dashboards, workflows, or forms. Form submissions flow right back into the pipeline, so you can start with nothing and still end up with real data.

Pick a data source, shape it with a query (use a dataset first if you need to combine tables), and turn the results into charts, alerts, dashboards, and more. No data yet? Build a form and every submission becomes your data. That's the dashed loop. The bulb marks anything that's AI-powered, generated or assisted by the Insight Builder from a plain-English description.

Quick paths

Conventions in this guide

  • Button and field names appear in bold. For example, click Save Alert.
  • Keyboard keys look like this.
  • Numbered steps you can follow top to bottom.
  • Callouts flag things worth noticing: Note, Tip, Warning, Important.
Tip

Press / anywhere to jump into search. Use ↑ ↓ to move between results and Enter to open one.

Connections

Register the databases UnpackData will read from. Every dataset, query, chart, and alert starts with a connection.

When to use this

Use Connections to link UnpackData to a database server. For HTTP/JSON endpoints instead, use API Connectors.

Add a new connection

  1. Open the Connections page (labelled Data Source Connections at the top) and click Add Data Source.
  2. Fill in the details. Provide Name, Description, and pick a Source Type: Microsoft SQL Server, Oracle, PostgreSQL, or MySQL.
  3. Enter the server information. Depending on the source type, fill in Server / Data Source, Database / Initial Catalog, and either check Use Windows / Integrated Security or enter Username and Password. The Connection String Preview updates as you type so you can verify what will be sent to the server. Not sure of the exact syntax? Reference the Sample Connection Strings panel on the page.
  4. Test Connection to confirm the portal can reach the database.
  5. Save. The connection becomes available in Datasets, Queries, the AI Assistant, and other features that read data.

Manage existing connections

Each row on the Connections grid has three actions:

  • Edit: update any field on a connection.
  • Sync: refresh the cached schema after tables or columns have changed on the database side. New columns won't appear in datasets until you sync.
  • Delete: remove the connection. Only available once no dataset depends on it.
Note

Connection strings are encrypted at rest. Once saved, the password and full connection string are never shown in plain text again.

API Connectors

Pull data from SaaS APIs and HTTP endpoints. Each connector has its own authentication fields and a list of objects you choose to sync into tables.

How this differs from Connections

Connections point at a database server. API Connectors point at an API (Stripe, Shopify, QuickBooks, Zendesk, and similar services). Both are usable downstream in datasets, queries, charts, and alerts.

Add an API connector

  1. Open API Connectors and click Add Connector.
  2. Name the connector. Enter a Name (placeholder suggests e.g. My Stripe Account) and a Description.
  3. Pick the Connector Type. Available types drive which authentication fields appear next.
  4. Fill in API Credentials. Fields vary by connector, for example: API Key, Access Token, Store URL, Instance URL, Company ID (Realm ID), Zendesk URL, Admin Email.
  5. Pick Objects to Sync. Check each object the connector should bring in. Objects tagged full refresh only can't be synced incrementally.
  6. Choose a Sync Mode. Full Refresh reloads every row every run, Incremental only brings in changes since the last sync.
  7. Test and save. Click Test Connection, then Save.

Manage existing connectors

  • Edit: update credentials, object selection, or sync mode.
  • Sync: run the connector on demand.
  • Logs: open the Sync History panel with a row per run, showing Object, Status (Success, Failed, or Running), Rows, Started, and any Error. Useful when something went wrong.
  • Delete: remove the connector once nothing depends on it.
Warning

Secrets like API keys and access tokens are encrypted at rest. Anyone with edit access to the connector can view and replace them. Share edit permission carefully.

Excel Upload

Turn an Excel workbook into one or more tables in a connected data source. Each selected sheet becomes its own table.

Upload a workbook

  1. Select an Excel File from your computer. Maximum file size is 100 MB. The first row of each sheet is used as column names for the resulting table, so make sure your header row is clean.
  2. Pick the target data source under Select the data source to insert.
  3. Choose sheets under Sheets to Import. The page shows a table with every sheet in the workbook; check the ones you want, and edit the suggested Table Name for each. Table names must be unique in the target data source, if a table already exists, the upload for that sheet fails.
  4. Upload to create the tables.

Newly created tables work everywhere else in the app, datasets, queries, charts, alerts, forms, and so on.

Schema Builder

Describe the tables you need in plain English. The AI proposes SQL CREATE TABLE statements and runs them on your behalf.

Generate and run tables

  1. Describe what you need. Type a prompt such as "Create a customer and order table for an e-commerce app" or "Create all the tables needed for running a car wash business" into the chat box (placeholder: Ask to suggest and create tables for your business needs...) and click Ask AI.
  2. Review and refine. The AI replies with SQL. Messages are labelled You and AI. Send follow-up prompts to adjust columns, rename fields, or add constraints.
  3. Run the SQL. When you're happy with the latest suggestion, click Run Last SQL, then Confirm in the dialog (Are you sure you want to run the last AI-generated SQL query?). Generated tables are created in the AIGenTables database, shown in the Tables & Columns panel on the left.
Tip

Once generated, use Forms to capture data, then Queries and Charts to analyze it.

Insight Builder

Ask questions about your data in natural language. The AI generates SQL, runs it, and shows the result, scoped to one data source at a time.

Use the Insight Builder

  1. Pick a Data Source. The AI Assistant only works against the source you select.
  2. Skim the schema. The Tables & Columns panel on the right shows what's available.
  3. Browse AI Suggestions. Example prompts generated for your selected data source appear so you can see what's possible.
  4. Ask your question. Type in the textarea (placeholder: Ask anything related to the selected Data Source...) and click Ask AI. The AI typically replies with a SQL query, a data preview, and follow-up buttons to save the result as a Query, Chart, or Alert.
  5. Clear Chat to start fresh when you switch topics.

Anything saved via a follow-up button shows up under the normal View & Edit page for that feature.

Create a dataset

A dataset is a reusable data shape. Pick the tables, wire up the joins, and customize columns once, so every downstream query can simply pick fields.

Build a dataset

  1. Pick a data source. Choose one from the Datasources dropdown and click Get Tables/Views.
  2. Add the first table. Select a table or view from the Tables/Views dropdown and click Add. The first table is prefixed with FROM.
  3. Add more tables and joins (optional). Repeat the step above. For each additional table, pick an Operator (LEFT JOIN, INNER JOIN, RIGHT JOIN, or CROSS JOIN) and set the Join Condition. Each condition uses ON for the first clause and AND for additional clauses, with range operators =, <, <=, >, >=, or BETWEEN. Combine multiple conditions with AND / OR.
  4. Customize columns (optional). In the column grid you can:
    • Check Select to include / exclude the column.
    • Rename with Column Label.
    • Pick a Control Type and Format.
    • Check Is Filter Column to allow filtering on it from queries.
    • Check Is Available Column to expose it in the Available Columns list on Queries.
  5. Preview SQL (optional). Click Generate Query to see what UnpackData will run against the database.
  6. Save. Click Save Dataset, then enter a Dataset Name (up to 40 characters) and Description (up to 100). When editing, the button reads Update Dataset.

View & Edit datasets

Every dataset you have access to, organised across three tabs.

  • My Datasets: datasets you created. Edit to reopen with every choice preserved, or Delete to remove.
  • Shared Datasets: datasets other users shared with you. View-only.
  • Admin (admins only): every dataset in the system. Edit, Activate, or Deactivate.

Create a query

Filter, group, order, and export data from a dataset. The result can power charts, alerts, forms, dashboards, and published URLs.

Build a query

  1. Pick a dataset. Use the Dataset Config panel. The dropdown includes custom datasets plus every table and view from your synced connections.
  2. Add filters (optional). Pick a column and click Add. Each row in the filters grid has Filter, NOT, Operator, Filter Value, and Remove. Available operators depend on the column type, for example:
    • String: Equals, Contains.
    • Numeric: Equals, Less Than, Less Than or Equals, Greater Than, Greater Than or Equals, Between.
    • Multi-select / Single-select: Equals, In.
    • DateTime: Equals, Before, After, Between, plus Dynamic-Equals, Dynamic-Before, Dynamic-After, and Dynamic-Between for relative windows like Today or Relative (days / weeks / months, Before or After).
    • Time: Equals, Before, After, Between.
  3. Set Row Count. Choose 10, 25, 50, 100, or Custom (1 to 1000).
  4. Move columns into the output. In Available Columns, click D, G, or O on any column to send it to Display Columns, Group By Columns, or Order By Columns. The header buttons move all visible columns at once; Clear empties a section. For datasets, only columns marked Is Available Column appear here.
  5. Tune each column. Click a column in any of the three sections to open the column details:
    • Name (read-only) and Label.
    • Format (for numbers and dates).
    • Formula (numbers only, placeholder e.g (column name*24)/1000).
    • Aggregate: None, Sum, Max, Min, Avg, Count for numbers; None, Max, Min for dates; None for strings.
    • Order: None, Ascending, or Descending (shows only for Order By columns).
  6. Run Query to preview the result and the generated SQL. The preview grid shows export icons for Export to Excel, Export to PDF, and Export to CSV.
  7. Save. Click Save Query and enter Query Name (max 40, used in the publish URL), Description (max 100), Roles (to share), and Tags. When editing, the button reads Update Query. Save As duplicates to your account.
  8. Publish (optional). Click Publish, pick Roles, tick Use this published query as a Widget. if you want it available to Dashboards, then confirm. A shareable Publish Url is generated and can be used as a menu link.

Extra notes

  • Published queries accept dynamic filtering via query-string parameters (?FilterName=value). Combine filters with &.
  • The Ask AI button on the page lets you describe the query you want; the assistant will populate the builder for you. Clear Chat resets the conversation.

View & Edit queries

Every query you have access to, with three tabs for scope.

  • My Queries: queries you created. Edit or Delete each one.
  • Shared Queries: queries shared with you. View only.
  • Admin (admins only): every query in the system, with Edit, Activate, and Deactivate.

Published queries

Queries that are live as shareable URLs. Each row shows the direct link, ready for a menu item.

  • My Publish Queries: queries you published. Delete the publication (the underlying query is untouched).
  • Shared Publish Queries: view-only publications shared with you.
  • Admin (admins only): every published query. Activate or Deactivate.

Create a chart

Visualize a query, a JSON URL, an uploaded file, or a built-in sample as one of twenty chart types.

Build a chart

  1. Pick the Source of Data.
    • User Query: pick from Select a Query.
    • From Url: paste a URL returning JSON under Provide Url to fetch JSON data and click Go!.
    • Upload a File: upload .csv, .tsv, .txt, or .json under Upload a file... and click Go!.
    • Sample Data: pick from Select a Sample.
    Only the first 100 rows are shown in the preview grid.
  2. Pick the Chart Type. One of 20 options: Area, Bar, Column, Donut, Funnel, Line, Pie, Polar Area, Polar Line, Polar Scatter, Radar Area, Radar Column, Radar Line, Vertical Area, Vertical Line, Waterfall, Bubble, Scatter, Scatter Line, Stock. Do this right after data loads, it changes which axis fields are available.
  3. Drag columns into axis fields. Column names appear in the Columns tab. Drag them onto the axis slots for your chart type:
    • Most charts use Category Axis (X-Axis) and Series (Y-Axis).
    • Scatter-style charts use X Field and Y Field.
    • Bubble adds a Size Field.
    • Stock uses Date Field, Open Field, Close Field, High Field, Low Field, and Navigator Field.
  4. Pick Stack Type (Not Stacked, Stacked, 100% Stacked) and Style (Normal, Smooth, Step) where the chart type supports them.
  5. Chart Title and Chart Theme: enter a title and pick a visual theme.
  6. Save. Click Save Chart and provide Chart Name (max 40), Description (max 100), Roles, Tags, and tick Use this chart as a Widget. if you want it in Dashboards. When editing, the button reads Update Chart; Save As duplicates.

The chart preview supports Export as PDF, Export as Image, and Export as SVG.

View & Edit charts

Three tabs for scope, with standalone URLs ready for menu items.

  • My Charts: charts you created. Edit or Delete.
  • Shared Charts: charts shared with you. View only.
  • Admin (admins only): every chart, with Edit, Activate, and Deactivate.

Create an alert

Send query results or charts by email, either on a schedule or when a condition is met. Attach files, insert URLs, and personalize each message.

Build an alert

  1. Recipients. Enter addresses in To and Cc. Tick Send emails separately to give each recipient in To their own email instead of a shared one.
  2. Let others self-subscribe (optional). Tick Subscribable Alert and pick one or more Subscribable Roles. Users in those roles can add themselves via Subscribe.
  3. Subject. Write the email subject line.
  4. Action (optional). Attach a file or insert a URL:
    • Attach File: pick a Source (User Query Data or User Chart), select the item, choose a Format, and click Attach. Format options are CSV, Excel, PDF for queries and Image, PDF, SVG for charts. You can attach more than one.
    • Insert Url: pick a source, select the query or chart, and click Insert to drop the URL into the body.
  5. Content. Write the body in the rich editor. Personalize with [@firstname], [@middlename], [@lastname] (only substituted when Send emails separately is on). The default value for recipients not found in the system is configurable (e.g. Sir/Madam).
  6. Run Condition. Pick Schedule or Condition:
    • Schedule: choose a Frequency (Daily, Weekly, or Monthly) and set Start Date, Run Time of Day, and End Date. Weekly adds Days of Week (Sunday–Saturday) and Recur every x weeks. Monthly adds Months (12 months), Days (1–31, or Last), and ordinals (First, Second, Third, Fourth). Tick Repeat every (5 min, 15 min, 30 min, 1 hour) to run multiple times per day.
    • Condition: pick a user query under Send this Alert if the User Query:, choose a has Row Count operator (Equals, Less Than, Less Than or Equals, Greater Than, Greater Than or Equals) and a value, then a Check this condition every: interval (10 minutes, 20 minutes, 40 minutes, 1 hour, 2 hours, …, up to 2 days).
  7. Save. Click Save Alert and provide Alert Name (max 40), Description (max 100), Roles, and Tags. When editing, the button reads Update Alert; Save As duplicates. Run Alert sends it immediately.

View & Edit alerts

Every alert you have access to, across three tabs.

  • My Alerts: alerts you created. Edit or Delete.
  • Shared Alerts: alerts shared with you. View only.
  • Admin (admins only): every alert, with Edit, Activate, and Deactivate.

Subscribe / Unsubscribe Alerts

Find alerts you're allowed to receive and subscribe yourself, no admin required.

Browse and subscribe

  1. Open the Subscribe Alerts page. The grid lists every alert whose Subscribable Roles include a role you have. Columns: Name, Description, Subject, Alert Type, Frequency, Run Time, Start Date, End Date.
  2. Subscribe. On an alert you don't currently receive, click Subscribe and confirm. Your address is included the next time the alert runs.
  3. Unsubscribe. On an alert you currently receive, click Unsubscribe and confirm to stop receiving it. You can re-subscribe at any time.
Tip

If an alert you expect doesn't appear, the alert owner needs to tick Subscribable Alert and add a role you have. See Create an alert.

Create a master list

A master list is a simple key-value lookup you build once and reuse across forms, filters, and charts.

Build a master list

  1. Pick the Source of Data.
    • User Query: pick from Select a Query.
    • From Url: enter a URL returning JSON and click Go!.
    • Upload a File: upload .csv, .tsv, .txt, or .json and click Go!.
    Only the first 100 rows are shown in the preview grid.
  2. Key Column. Pick the column that represents the key.
  3. Value Column. Pick the column that represents the value.
  4. Save. Click Save List, enter List Name (max 40), Description (max 100), and Roles. When editing, the button reads Update List; Save As duplicates.

View & Edit master lists

Three tabs for scope.

  • My Master Lists: lists you created. Edit or Delete.
  • Shared Master Lists: view-only lists shared with you.
  • Admin (admins only): every list, with Edit, Activate, and Deactivate.

Create a form

Drag fields onto a canvas, wire up what happens on submit, and publish a link anyone can use. Forms have four tabs: Fields, Action, Notify, and Settings.

Fields tab

Drag fields from the Basic Fields or Advanced Fields panels into the form area.

  • Basic Fields: Label, Text, Paragraph, Number, Checkbox, Radio Button, Dropdown List.
  • Advanced Fields: Name, Address, Email, Phone, Date, Time, Date Time, File Upload, Signature, Barcode, QR Code.

Use the cogwheel icon on a field to configure it. Use the copy icon to duplicate, and X to remove. The Rules sub-tab in field settings lets you show / hide the field based on values entered elsewhere on the form.

Action tab

Choose how the form pre-fills and what happens on submit.

Pre-populate from a query (optional)

Pre-population works on Text, Number, Date, Time, and Date Time fields.

  1. Pick a query from Pre-populate Query and choose one or more Query String Fields to filter with.
  2. Those fields become query-string parameters on the published form URL. The first matching row is used; multiple fields combine with AND.
  3. In each eligible field's settings, a Pre-Populate tab appears so you can map the field to a query column.

Submit Actions

Pick one of three actions for when the form is submitted:

  1. Insert Table Record.
    • Pick a data source from Datasources and click Get Tables.
    • Pick a table from Tables and click Create Form. A form that inserts into that table is built for you.
    • Remove the primary key field if your table auto-generates it.
  2. Update Table Record.
    • Pick a data source and click Get Tables. Pick a table and click Create Form.
    • Tick Use the published form as Edit Popup for the above selected 'Pre-populate Query' grid? to make the form an inline edit popup on a grid. Pick exactly one Query String Field, that field becomes the row ID.
    • Remove the primary key field (inserting primary keys isn't allowed here).
    • Pre-populate as above. On the live form, passing the query-string parameter loads the current row; submitting writes it back.
  3. Web Service Call.
    • Enter a Web Service Url and click Go to load its Endpoints.
    • Pick an endpoint and click Create Form to generate a form with that endpoint's parameters as fields.
    • On submit, the endpoint is called with the entered values.

Notify tab (optional)

  1. Tick Enable Notifications.
  2. Enter addresses in To, Cc, and Bcc.
  3. Write a Subject, Header, and Footer. The body auto-includes a grid of submitted values.
  4. Tick Send emails separately to give each To recipient their own message.
  5. Tick Send email to Form Submitter and pick the email field in Form Email Fields to also email whoever filled out the form.

Settings tab

Tick Enable saving Submissions to keep every submission so you can review it later under Submissions.

Save and publish

  1. Click Save Form. Enter Form Name, Description, Roles, and Tags. When editing, the button reads Update Form; Save As duplicates.
  2. Click Publish to generate a shareable URL. Pick Roles for access and optionally enable the URL as a Widget. Preview Form opens the live form in a new tab.

View & Edit forms

Three tabs for scope.

  • My Forms: forms you created. Edit or Delete.
  • Shared Forms: forms shared with you. View only.
  • Admin (admins only): every form, with Edit, Activate, and Deactivate.

Published forms

Forms that are live, with direct URLs ready for menu items. Click View Submissions on any row to open that form's collected responses.

  • My Publish Forms: your published forms. View Submissions or Delete the publication.
  • Shared Publish Forms: view-only publications shared with you.
  • Admin (admins only): every published form. Activate, Deactivate, or open submissions.

Form submissions

Every response a published form has received. Requires Enable saving Submissions on the form's Settings tab.

View submissions

  1. From Published forms, click View Submissions on the form you want.
  2. The Submissions tab opens with a grid of every submission recorded, newest first. Tick Show Inactive Submissions to include entries that were deleted by the submitter.
  3. Click a row to see the exact values submitted, along with the submitter and timestamp.
  4. Click Back to Publish Forms List to return.

Create a timeline

Lay out events in chronological order, great for histories, roadmaps, and anything date-stamped.

Build a timeline

  1. Pick the Source of Data.
    • User Query: pick from Select a Query.
    • From Url: enter a URL returning JSON and click Go!.
    • Upload a File: upload .csv, .tsv, .txt, or .json and click Go!.
    • Sample Data: pick from Select a Sample.
  2. Pick a Timeline Style. Choose Style 1, Style 2, or Style 3.
  3. Drag the Date Field. From the Columns list, drop the column that represents the date for each timeline point.
  4. Drag the Title Field. Drop the column that will be the heading for each point.
  5. Drag the Content Field. Drop the column with the body text for each point.
  6. Save. Click Save Timeline and enter Timeline Name, Description, Roles, Tags, and tick Use this timeline as a Widget. if you want it available to Dashboards. When editing, the button reads Update Timeline; Save As duplicates.

View & Edit timelines

Three tabs for scope.

  • My Timelines: timelines you created. Edit or Delete.
  • Shared Timelines: timelines shared with you. View only.
  • Admin (admins only): every timeline, with Edit, Activate, and Deactivate.

Dashboard widgets

Widgets are the building blocks of dashboards. Groups organize your widgets so they're easy to find when composing a page.

Widget Groups

Click Add New Group to create a group. Groups are loaded dynamically from your portal, any group you create is available when you build a dashboard.

Widgets

Click Add New Widget to create one. Each widget belongs to a group and can be a URL link (for example, a published query or chart) or an HTML snippet.

Many builders also have a Use this as a Widget checkbox (see Queries, Charts, Timelines, Forms) that auto-creates a widget when you save the item, so you rarely need to add widgets by hand.

Pick a target with the Target URL field

Target URL is a searchable picker — start typing and matching portal artifacts surface as you go. Placeholder text: Type a URL or search query, form, chart, dashboard, timeline…

  • Suggestions kick in from the first character.
  • Search matches the artifact's name and its type, so typing chart surfaces every chart, while typing Revenue surfaces any artifact named Revenue.
  • Each row shows the artifact name plus a colour-coded type badge — Query, Form, Chart, Dashboard, or Timeline.
  • When you pick an artifact, the URL is filled in and ?embed=true is appended automatically so the artifact renders cleanly inside the widget iframe.
Tip

You can still type any URL by hand if you need to point to something outside the portal — the picker is a shortcut, not a restriction.

See also Manage Menu › Menu Url, which uses the same picker (without the ?embed=true suffix).

Create a dashboard

Compose a page by dragging structure widgets onto a canvas, then drop content widgets (forms, charts, queries, timelines) into the containers.

Build a page

  1. Open the Widgets panel. Click the Widgets button to expose your widget groups and their widgets.
  2. Drop a structure widget. Structure widgets define the layout (columns and containers). Drag one into the canvas.
  3. Drop content widgets into the containers. Each structure widget exposes one or more containers where forms, charts, queries, and timelines can go. Add and reorder multiple structure widgets as needed.
  4. Save the page. Click Save Dashboard and enter Dashboard Name, Description, Roles, and Tags. When editing, the button reads Update Dashboard; Save As duplicates. Each saved page gets a standalone URL you can wire into menu items.

View & Edit dashboards

Three tabs for scope.

  • My Dashboards: dashboards you created. Edit or Delete.
  • Shared Dashboards: view-only dashboards shared with you.
  • Admin (admins only): every dashboard, with Edit, Activate, and Deactivate.

Create a workflow

Chain together approvals, form submissions, alerts, and automations. A workflow fires on a trigger, assigns steps to people, and branches on conditions.

Build a workflow

  1. Title and Status. Replace the default New Workflow Title with a meaningful name and pick a Status (Active, On-hold, Reactivate, Solved, or Closed).
  2. Add Steps. Click Add Step and configure each step:
    • Name, Assign To (a user or role), Due In with a duration unit of Hour(s), Day(s), Week(s), or Month(s).
    • Priority: Low, Medium, High.
    • Status: Not Started, Started / In Progress, Completed.
    • Comments.
    • Tick Enable Notifications for this Step and pick when emails go out: when the step reaches Started / In Progress, when it's Completed, or both.
  3. Triggers. In the Triggers section, choose Form Submitted and select one or more forms, or Alert is Run and select an alert. When any trigger fires, the published version of the workflow runs.
  4. Conditional Actions. Click Add Condition to define a logic-driven branch. For each condition:
    • Pick If Step Field or If Form Field, then the step / field name.
    • Step fields cover Assign To, Due Date, Priority, Status.
    • Choose an Operator: Equals, Contains, Less Than, Less Than or Equals, Greater Than, Greater Than or Equals, Between, Before, After, In.
    • Enter a value, then pick a task under Perform the Task:
      • Run Alert: pick one from Select Alert.
      • Form: submit a form from Select Form.
      • Workflow: run another workflow from Select Workflow.
      • Check Off: auto-Accept or auto-Reject.
      • Send Email: fill in To, Cc, Bcc, Subject, Content, optionally tick Send emails separately.
      • Map WebService: enter a Web Service Url, click Go, pick an endpoint from Endpoints, then Add Param rows mapping Param Name to a Value from workflow context.
  5. Save. Click Save Workflow and enter Workflow Name, Description, Roles, and Tags. When editing, the button reads Update Workflow; Save As duplicates.
  6. Publish. Click Publish and confirm (Do you want to publish this Workflow?). Publishing snapshots the current configuration as a version. Every time you edit and re-publish, a new version is created.

View & Edit workflows

Every workflow and its published versions, across three tabs.

  • My Workflows: workflows you created. Each has Edit and a sub-grid of published versions, each with Run and View Details. Running a version starts it and assigns its steps.
  • Shared Workflows: workflows shared with you. View only.
  • Admin (admins only): every workflow. Edit, plus the same sub-grid of published versions.

Workflow steps

Steps assigned to you from running workflows. Update their status as you work.

  • My Workflow Steps: steps assigned to you. Click Edit to update Priority, Status, and Comments, then Save. Moving status to Completed finishes the step.
  • Admin (admins only): every assigned step in the system, with Edit on each.

Your profile

Update your name, contact details, and address. The values here also drive the [@firstname], [@middlename], and [@lastname] tokens used in alert emails.

Sections on the page

  • Name: First Name (required), Middle Name, Last Name (required).
  • Company: Company Name, Department Name, Job Title.
  • Email: Email address, Alternate Email address.
  • Phone: Work Phone, Home Phone, Mobile Phone.
  • Address: Address Line 1, Address Line 2, City, State, Country, Zip Code.

Click Save at the bottom of the page to apply changes.

Manage Users

Every user associated with your company. To onboard new people, send them an invitation link.

Manage a single user

  • Edit: inline-edit a user's details across every field (first / middle / last name, username, title, address, phones, email).
  • Delete: permanently remove the user.

Bulk Upload

The Bulk Upload panel at the bottom lets you add many users at once via a CSV file. The workflow is:

  1. Download the Excel template by clicking the image in the panel.
  2. Copy your data into the appropriate columns.
  3. Save the file as CSV.
  4. Upload the CSV using the File Upload input.

Manage Menu

Design the left-side navigation. Each menu holds categories and items.

Menu-level actions

Click Add New Menu to create one. Each row has inline edit and delete.

Build the menu tree

Opening a menu shows three panels.

  • Left panel: a TreeView of every category and item in the menu, with a search box and Expand All / Collapse All links. Drag to reorder; while rearranging, the other panels hide until you Save or Cancel.
  • Actions panel (middle): Add New Category, Add Child Item, Edit Details, Delete. A category can only be deleted once its children are removed.
  • Right panel: the details form for whatever is currently selected.
    • Category Details: Name, Label, Description, Save.
    • Menu Details: Name, Description, Is Sub Category, Menu Url (see below), Category, Icon, Icon Color, Tags, Open in New Window, Show as New, Save.

Pick a target with the Menu Url field

Menu Url is a searchable picker — start typing and matching portal artifacts surface as you go. Placeholder text: Type a URL or search query, form, chart, dashboard, timeline…

  • Suggestions kick in from the very first character.
  • Search matches both the artifact's name and its type, so typing form surfaces every form, while typing Revenue surfaces any artifact called Revenue.
  • Each row shows the artifact name plus a colour-coded type badge — Query, Form, Chart, Dashboard, or Timeline.
  • Pick one and the URL is filled in for you using the artifact's published path:
    • Query → /PowerQuery/{name}.aspx
    • Form → /Forms/{name}.aspx
    • Chart → /Charts/{name}.aspx
    • Dashboard → /Pages/{name}.aspx
    • Timeline → /Timeline/{name}.aspx
Tip

You can still type any URL by hand if you need to point to something outside the portal. The picker is a shortcut, not a restriction.

See also Widgets › Target URL, which uses the same picker.

Manage Roles

Roles control who can see what. Every sharing dropdown elsewhere in the app uses this list.

Roles list

The left panel lists every role. Click Add New Role to create one. Remove deletes a role.

Assign users to a role

Select a role to open its users grid on the right. Click Add User to add members and Remove to take them out, then click Save.

Assign menu access

Below the users grid, a menu tree shows every menu category and item. Tick the ones this role should see, then click Save.

Invitations

Send people a one-click signup link with the right roles already assigned. They click the link, fill in their details, and land in the portal ready to work.

Generate an invite link

  1. Click New Invitation.
  2. Roles (required, multi-select, placeholder Choose one or more roles...): pick one or more roles. Whatever you pick is auto-applied to whoever signs up with this link.
  3. Expires in: choose how long the link stays valid — 1 hour, 5 hours, 24 hours (default), 3 days, or 7 days.
  4. Click Generate Link. The full URL appears in a textarea with a Copy button. Send it however you like (email, Slack, etc.). Done closes the form and refreshes the list.
Heads up

A single link is reusable by anyone who holds it. Don't post invite URLs publicly — treat them like a one-shot password and share them privately with the intended recipient.

Active invitations

The grid lists every invitation that's still active and not yet expired. Expired and revoked invitations drop off automatically.

  • Roles — comma-separated list of roles attached to the link.
  • Expires — date and time the link stops working.
  • Created By — the admin who generated the link.
  • Created At — when the link was created.

Per-row actions:

  • Copy URL — copies the original invite link to your clipboard.
  • Revoke — opens a confirmation modal (Revoke this invitation? Anyone holding the link will no longer be able to register.). Once you confirm, the link stops working immediately, even if the recipient already had the page open.

The grid paginates at 20 invitations per page.

What the recipient sees

Clicking the invite link opens the Register page with the token already attached. The recipient fills in First Name, Last Name, Email, Password, and Confirm Password. On submit, the account is created and the invitation's roles are applied automatically.

If the token is invalid, expired, or revoked, the page shows This invite link is invalid or has expired. Please ask your administrator for a new invitation. and the registration form is hidden until they get a fresh link.

Manage Tags

Tags keep your growing list of queries, charts, forms, and workflows organized.

  • Add New Tag: create a tag for organizing or filtering features.
  • Inline edit on each row to modify Name, Short Name, or Description.
  • Activate / Deactivate: a deactivated tag can't be applied to new items but stays on the ones that already use it.

Site Settings

Under Manage Settings, the Site tab controls how your portal identifies itself and who can register.

  • Site Url (read-only): the canonical URL for this portal.
  • Enable domain restriction: tick to prevent users from other email domains from registering. When on, enter the allowed domain in the @ field (placeholder yourcompany.com). Users must register with an email on that domain.

Click Save to apply.

Subscription

The Subscription tab under Manage Settings shows your current plan, usage, limits, and lets you upgrade. Visible to admins.

Current Plan & Usage

The left column shows Plan Type, a trial countdown when applicable, and three usage cards: Builders, Internal Viewers, and External Viewers, each with current / included count. Below that, Plan Limits lists caps on Data Source Connections and AI Generated Tables.

Upgrade Your Plan

The right column shows available plans:

  • Basic at $70/mo: 1 Builder, 5 Internal Viewers, 10 External Viewers, 2 data sources.
  • Pro at $120/mo (Recommended): 2 Builders, 10 Internal, 50 External, 5 data sources.

Pick a plan and a billing cadence (Monthly or Annually (Save 10%)), then click Confirm Upgrade. A confirmation dialog reminds you the instance is resized during the upgrade and will be unavailable for 5–7 minutes. Click Upgrade Now to proceed or Cancel to back out.

Note

Billing is prorated to your current cycle. Enterprise plans unlock the SMTP configuration tabs (see Email SMTP).

Email (SMTP)

On Enterprise plans, three independent SMTP profiles let you split outbound email by purpose. Each profile is its own tab on the Manage Settings page.

  • Alert Email: used by scheduled and conditional Alerts.
  • Form Email: used by form-submission notifications.
  • Logger Email: used when the application logs warnings or errors by email.

Fields on each tab

  • Smtp Server, Port, Display Name, From Email, Bcc Email.
  • With SSL and With Credentials checkboxes. When Credentials is on, UserName and Password fields appear.
  • Logger Email adds Subject and To Email.

Theme Settings

Brand the portal with your company logo. Upload an image, see it in the live preview, and click Save to apply.

API Keys

Create and manage API keys for the Portal REST API and the Claude MCP connector. Each key can be scoped and given an expiration date.

Create an API key

  1. Click Create API Key.
  2. Key Name (up to 100 chars, placeholder: e.g. Claude Desktop, My App).
  3. Scopes (optional): enter read,write or a subset.
  4. Expires. Choose Never, 30 days, 90 days, 180 days, or 1 year.
  5. Click Create Key. A confirmation modal appears with the Key (in monospace) and a Connector URL for Claude, both with Copy buttons. Copy the key now. The alert reads "Copy this key now! You won't be able to see it again."
  6. Click I've copied the key to close the modal.

Manage existing keys

The grid shows Name, Key Prefix, Scopes, Status, Created, Expires, and Last Used. On each row:

  • Revoke: invalidates the key immediately. Any integration using it starts failing on the next request.

To wire the key up to Claude, see Integrations › Claude (MCP connector).

Warning

Treat API keys like passwords. Don't commit them to source control, don't share them in chat, and revoke any key that might have leaked.

Integrations

UnpackData exposes AI-friendly interfaces so external tools can read your data and build artifacts on your behalf. All integrations authenticate with an API Key and honor role-based access.

Claude (MCP connector)

UnpackData exposes an MCP-compatible connector for Claude. Any MCP client (Claude Desktop, Claude Code, and others) can connect using the URL provided when you create an API key.

Set it up

  1. Create an API key (see API Keys). The "Key Created" dialog includes the ready-to-paste Connector URL.
  2. In Claude, go to Settings → Connectors → Add custom connector.
  3. Paste the Connector URL, replacing YOUR_API_KEY with the key value.
  4. Click Connect. Claude lists Portal tools such as whoami and list_queries, and your AI assistant can now read UnpackData as a tool.

Changelog

What's new in each release of this guide.

v1.1, 2026-04-26

  • Added a new Invitations page under Manage: send role-scoped signup links to onboard new users in one click.
  • Added documentation for the searchable artifact picker that powers Manage Menu › Menu Url and Widgets › Target URL.
  • Changed the sidebar layout: Manage now reads Users → Menu → Roles → Invitations → Tags; API Keys moved into Configure alongside Site Settings, Subscription, Email, and Theme Settings.
  • Removed all references to the old Set Primary button on Manage Menu and the Primary Side Menu picker on Theme Settings — both have been retired in the product.
  • Removed the ChatGPT Custom GPT integration section; documentation for the Claude (MCP) connector remains.

v1.0, 2026-04-19

Initial release of the UnpackData Portal user guide.