Skip to main content
This page walks the full app-build flow with a worked example. The example is realistic, common across hundreds of merchants, and covers most of the moving parts you will hit in your own builds: a scheduled trigger, a data source query, light filtering and ranking logic, and a notification channel.

The worked example

The merchant’s ask. “Every Tuesday at 9am, summarise last week’s Shopify sales by SKU and post the top 10 to the #ops Slack channel. Include units sold, revenue, and the week-over-week change.” We will take this sentence and turn it into a running production app. The total wall-clock time from first prompt to running app is around five minutes.

Step 1, open App Builder and start a new app

Navigate to Vortex Apps > App Builder in the Vortex IQ console, then click + New App. The prompt panel opens. The cursor is in the description field, ready for your sentence. A few hints surface as placeholder text inside the field:
  • “Describe what you want this app to do, in plain English.”
  • “Mention triggers, data sources, and where the output should go.”
  • “You can edit any part of the plan after the agent generates it.”

Step 2, type the prompt

Type the merchant’s ask exactly as written above. Hit Enter or click Generate plan. The agent parses the sentence and starts the planning step. A loading state appears: “Reading your prompt… checking connected sources… drafting plan.” If the agent has questions (for example, you have multiple Shopify stores connected and need to specify which one), it asks them now in a chat-style follow-up. For this example, assume one Shopify store is connected and the agent has everything it needs.

Step 3, review the agent’s plan

After a few seconds, the plan view opens. It looks something like this:
Plan partGenerated value
NameTuesday morning Shopify sales summary
TriggerSchedule: every Tuesday at 09:00 in the workspace timezone
Data sourcesShopify orders connector (last 7 days, completed orders only)
LogicGroup by SKU. Sum units sold and revenue. Compare to previous 7-day period. Sort by revenue descending. Take top 10.
OutputSlack message to channel #ops, formatted as a block-kit table with SKU, units, revenue, week-over-week change
Approval gateOff (autonomous run, no human approval needed before sending)
Error handlerOn failure: log to Vortex Memory, post error to #ops-alerts
Each row is editable inline. If the channel name is wrong, click the channel name and change it. If you want to add a column, click into the output description and tell the agent what to add. The agent regenerates the plan after each edit.

Step 4, refine the plan if needed

For this example, the plan is correct. In a real build you might want to:
  • Add a column. “Add a conversion rate column from Google Analytics for each SKU.” The agent adds the GA4 read step and a join column.
  • Change the schedule. “Run every Monday and Thursday instead of just Tuesday.” The agent updates the cron.
  • Add an approval gate. “Send the message to me first, let me edit it, then post to #ops.” The agent inserts a Slack DM step before the channel post.
  • Add a fallback. “If GA4 is rate-limited, skip the conversion rate column and post anyway.” The agent adds a try-catch around the GA4 read.
Each refinement is a sentence. The agent applies it to the plan and re-renders.

Step 5, deploy to sandbox

Click Deploy to sandbox. The app provisions a sandbox runtime, deploys the agent code, and reports back “ready” within 10 to 30 seconds. The sandbox view opens. It has three tabs:
  • Test run. Trigger a one-off execution against live data. The output renders inline and routes write actions to safe channels (a sandbox Slack channel, your inbox, a sandbox Jira project) so production systems are not touched.
  • Inspect. View the agent’s reasoning trace, the tool calls it made, the data it read, and any intermediate calculations.
  • Edit. Go back to the prompt or plan view and refine.
Click Run test now.

Step 6, verify the test run output

The sandbox runs the app. It connects to Shopify, pulls last week’s orders, groups by SKU, computes the comparison against the previous week, ranks by revenue, takes the top 10, formats a Slack message, and posts it to your sandbox channel. You see the actual Slack message in the test run view. The output looks correct: the columns match, the top SKU has the right revenue figure, the week-over-week percentage is computed correctly. You spot-check one of the SKUs against the Shopify admin and the numbers match. If the output is wrong (for example, the agent included refunded orders when you wanted to exclude them), go back to the plan, add the clarifying instruction (“exclude refunded orders”), and re-deploy to sandbox. Iteration is fast because each round takes seconds.

Step 7, promote to production

Click Promote to production. The app moves from the sandbox runtime to the production runtime. Write actions now route to real channels (the real #ops Slack channel, the real inbox, the real Jira project). The production view opens. The next scheduled run shows in the header: “Next run: Tuesday 12 May 26 at 09:00.”

Step 8, watch the first production run

On the next Tuesday at 09:00, the app runs. The Slack message lands in the real #ops channel. Your team sees the summary. The run is logged to Vortex Memory with the full reasoning trace and the output. You did not write any code. You did not configure any cron job. You did not provision any infrastructure. You wrote one sentence.

Common variations

The same flow handles a wide range of workflows. A few representative variations the agent handles cleanly:
  • Event-triggered apps. “When a customer’s third order ships, send them a 15% off code from Klaviyo.” Trigger is a Shopify webhook on order fulfilment, with a customer order count check.
  • Threshold-triggered apps. “When checkout conversion drops more than 10% week over week, open a Jira ticket.” Trigger is a Nerve Centre KPI threshold breach.
  • Vortex Mind triggered apps. “When the Daily Revenue Leakage report flags a payment failure cluster, post the report to #ops with the top affected SKUs.” Trigger is a Vortex Mind report run with severity filter.
  • Multi-source apps. “Every morning, list SKUs out of stock on Amazon but in stock on Shopify, and email the inventory manager.” Reads from two connectors, joins on SKU, filters on the cross-channel discrepancy.
  • Approval-gated apps. “When a customer crosses the at-risk threshold, draft a recovery email and send it to me for approval before it goes out.” Adds an approval-gate step between the draft and the send.
  • Multi-step apps. “Every Friday, run the Vortex Mind Paid Traffic Waste report, list the top 5 wasteful campaigns, draft a pause recommendation, and post to #marketing for review.” Combines a report run, a list extraction, a draft step, and a notification.
Each starts the same way: type the sentence, review the plan, deploy to sandbox, promote to production.

Tips for writing good prompts

A good prompt has four parts: trigger, data, logic, output. The agent will fill in defaults if any are missing, but a complete prompt produces a more accurate first plan.
  • Trigger. “Every Tuesday at 9am” / “When checkout conversion drops 10%” / “When a customer’s third order ships”. Be specific about timing or conditions.
  • Data. “Shopify sales” / “Google Ads campaigns” / “Datadog metrics”. Mention the platform; the agent picks the right connector.
  • Logic. “Group by SKU” / “Sort by revenue” / “Filter for the last 30 days”. Be explicit about the transformation.
  • Output. “Post to #ops in Slack” / “Email the inventory manager” / “Open a Jira ticket”. Specify the channel and the format if you have a preference.
If you only have one or two of these, type what you have and let the agent ask follow-up questions. Asking is cheap; the agent will not assume.

Frequently asked questions

Can I edit an app after I promote it to production? Yes. Click the app from the App Builder home, choose Edit, and you go back to the prompt and plan view. Any edit creates a new version. You can promote the new version, or roll back to the previous one. What if I want to keep the existing app and build a variant? Use Duplicate. The new app starts as a copy of the original prompt and plan. Edit it independently, deploy and promote on its own track. Can I share an app with other users in my workspace? Yes. Apps are workspace-scoped by default. Other users in the workspace can view, run, and edit them based on the workspace permission model. Is there a limit on how many apps I can build? Soft limits depend on your plan. The defaults are generous enough that ops teams running 20 to 30 apps never hit the ceiling. If you need more, contact support. Can I build apps that call my own internal API? Yes. The toolkit includes a generic webhook tool. The agent can call any HTTPS endpoint with structured payloads and use the response in subsequent steps. See Tools and integrations for the webhook tool details. What if the agent gets it wrong on the first plan? That is expected and normal. The plan view is designed for iteration. Tell the agent what to change in plain English and re-generate. Most builds need two or three rounds of refinement before the plan is right.