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 part | Generated value |
|---|---|
| Name | Tuesday morning Shopify sales summary |
| Trigger | Schedule: every Tuesday at 09:00 in the workspace timezone |
| Data sources | Shopify orders connector (last 7 days, completed orders only) |
| Logic | Group by SKU. Sum units sold and revenue. Compare to previous 7-day period. Sort by revenue descending. Take top 10. |
| Output | Slack message to channel #ops, formatted as a block-kit table with SKU, units, revenue, week-over-week change |
| Approval gate | Off (autonomous run, no human approval needed before sending) |
| Error handler | On failure: log to Vortex Memory, post error to #ops-alerts |
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.
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.
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.
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.
Cross-links
- See the full mechanic of how prompts become apps on How it works.
- Browse the legacy starter recipes on Recipes and FAQs for inspiration.
- Read about the toolkit on Tools and integrations.
- Understand the post-deploy surface on Deployment and monitoring.