Docs Getting started Quickstart

Quickstart: 15 minutes to your first App

Finish this page with a real App in your account: one that researches any company and produces a Markdown brief.

Skim or follow along. If you'd rather read first and try later, skim Steps 1-10 in five minutes. They tell the story without you having to type along. Each step ends with a screenshot of what you should be seeing.

What you'll have built when you're done

An App called Company Brief that:

  • Takes a company name (required) and an optional website URL.
  • Lets you toggle whether to include competitors.
  • Researches the company on the open web, then writes a one-page Markdown brief.
  • Saves the brief as a downloadable, shareable, chainable Artifact.

Simple enough to finish in 15 minutes. Realistic enough that you'd actually use it.

Before you start

An account at app.aitroop.net. Free to sign up. Email + password, or "Continue with Google".
15 minutes of uninterrupted time. The platform isn't complicated, but going through this in one sitting builds confidence faster.
A modern browser. Chrome, Safari, Firefox, Edge: all fine. Nothing to install.

What we'll build. An App called Company Brief that takes a company name as input and produces a one-page research brief in Markdown. Simple enough to finish in 15 minutes, realistic enough that you'd actually use it.

Step 1: Sign in

  1. Go to app.aitroop.net.
  2. Click Sign up (or Log in if you already have an account).
  3. Enter your email and pick a password, or click Continue with Google.
  4. You'll land on the workspace home.

What you see after signing in

Roughly:

┌──────────────────────────────────────────────────────────────┐
Aitroop      Workspace homeprofile ▼
├────────────┬─────────────────────────────────────────────────┤
+ New Chat│ │
│ │ Welcome! Pick something to start.
📁 Chats │ │
📦 Apps │ ┌─ Start a chat ────────┐ ┌─ Browse apps ──┐ │
🧩 Skills │ │ Talk to the agent. │ │ Run an existing │ │
🔌 Connects│ │ │ │ App. │ │
⏰ Schedules│ └───────────────────────┘ └─────────────────┘ │
│ │ │
⚙ Settings │ │
└────────────┴─────────────────────────────────────────────────┘

The sidebar items are the operational surfaces:

  • Chats: conversation history with the agent.
  • Apps: your library of saved workflows.
  • Skills: capabilities the agent can use.
  • Connects: OAuth integrations to external accounts.
  • Schedules: Apps that run on a cron.
  • Settings: workspace, billing, team members.
Where's my "Apps" library? Empty for now; you haven't built any. We're about to fix that.

Step 2: Open a new chat

  1. Click + New Chat in the top-left of the sidebar.
  2. A blank chat opens. You'll see a message input at the bottom and an empty conversation area above.

Layout of the chat surface:

┌──────────────────────────────────────────────────────────────┐
📁 My workspace / New chat Save as App
├──────────────────────────────────────────────────────────────┤

(empty, your conversation will appear here)

├──────────────────────────────────────────────────────────────┤
📎 Type your message… [↵ Send]
└──────────────────────────────────────────────────────────────┘

What's there:

  • Breadcrumb at the top: workspace name / chat name.
  • Save as App button (top-right): grayed out until the conversation reaches a saveable state.
  • Attach button (📎) on the message input: drop files into the conversation here.
  • Send button or press Enter.

Step 3: Ask the agent to build an App

Aitroop has a built-in skill called aitroop-app-create (the App Builder). It activates when your message contains a trigger phrase like:

  • "Create an app that…"
  • "Build me a workflow for…"
  • "I want an app to…"
  • "Make an automation that…"

Type this exact message into the chat:

Create an app that researches a company and writes a one-page brief.

Inputs: a company name (required) and a website URL (optional).

Output: a Markdown report covering:
- Business model
- Key products / services
- Target customers
- Recent news from the last 12 months
- Strengths and weaknesses

Press Enter. Three things happen, in this order:

  1. Your message appears in the conversation thread.
  2. The agent thinks for a few seconds. You'll see a "thinking" indicator.
  3. The agent loads the App Builder skill (you may see a "Skill: aitroop-app-create" tag inline) and starts replying.

Step 4: Answer the clarifying questions

The App Builder asks 1-5 short questions to fill in design gaps. A typical response looks like:

🤖 Agent  Skill: aitroop-app-create

A few quick questions to design this right:

 1. Should I infer the company URL from the name when the user
    omits it, or just leave that section thinner?
 2. Section length: one paragraph each, or longer?
 3. Output language: English, or configurable per run?
 4. Want a "competitors" section?
 5. Should I limit the news section to "verified sources only",
    or include all news?

You don't have to answer every question separately. A single reply works:

You: Yes, infer URL from name. About 3 paragraphs per
section. English only. Add a competitors section.
Verified sources only for news.

Tips for answering well

  • Be brief. The agent doesn't need essays. "Yes / No / 3 paragraphs / English" is plenty.
  • Trust the agent to default reasonably. If you don't care about a question, say "your call". The agent will pick a sensible default and note it in the design.
  • Don't worry about getting it right the first time. Every choice can be edited later.

Step 5: Review the App design

After your answers, the App Builder presents the full design. This is the most important step; look at every field.

🤖 Agent

Here's the design. Review and tell me what to change:

App: Company Brief
icon: 🏢 · tags: [research, briefing]

Inputs (input_schema):
 1. company_name · text · required
   placeholder: "Acme Corp"
 2. company_url · text · optional
   description: "If blank, I'll find it from the name."
 3. include_competitors · boolean · default: true

Stage 1: research_and_write (agent stage, 5 min timeout)
 Goal: Research {{company_name}} ({{company_url}}
    if provided, otherwise find it). Write a one-page
    brief covering business model, key products, target
    customers, recent verified news (last 12 months),
    and strengths/weaknesses. Each section ~3 paragraphs.
    {{#if include_competitors}} Include a competitors
    section listing 3-5 competitors.{{/if}}

Artifact: company_brief (format: markdown)

Resources:
 skills: [web-search]
 connects: []

Looks good?

Annotated: what each part means

  • name, icon, tags: for the App library. The icon is a single emoji.
  • Inputs: the form fields users fill in. required blocks the Run button until filled.
  • Stage: what the agent does. {{company_name}} gets replaced with the form value at run time.
  • Artifact: what comes out. format: markdown renders as a nice document.
  • Resources: Skills and Connects the App needs. web-search here means the agent will search the web.

Confirming or revising

Three example replies and what they do:

You: Looks good, save it.
    → Agent calls POST /api/apps. Done.

You: Change company_name placeholder to "Stripe".
    Make the stage timeout 10 minutes.
    → Agent updates two fields, re-shows design, asks again.

You: Add a second stage that drafts an outreach email
    for the company, using the brief as context.
    → Agent extends to two stages. Stage 2 references
       Stage 1's artifact. Re-shows design.

For this tutorial, type:

You: Looks good, save it.

Step 6: The agent saves the App

Behind the scenes, the App Builder validates the design (every ID unique, every {{ref}} resolves, goals are specific) and calls POST /api/apps. You'll see something like:

🤖 Agent

Saved. ✅

 App: Company Brief
 ID: app_8f4c2e1b
 Version: v1
 Status: ready to run

Find it in your App library (sidebar to Apps). Want me to
test-run it on a sample company right now?

At this point the App is live and runnable.

Sanity-check that it saved

  1. Click Apps in the sidebar.
  2. You should see Company Brief at the top of the list, with the 🏢 icon you set.
  3. If you don't see it, refresh the page or click Apps again.

Step 7: Run your App

  1. Click Company Brief in the Apps list.
  2. The App page opens, showing the form (your three inputs) and a Run button.
  3. Fill the form:
    • company_name: Stripe
    • company_url: leave blank
    • include_competitors: toggle on (default)
  4. Click Run.

What you see during the run

The page splits into two panes:

  • Left pane, run log. The agent's reasoning, tool calls, partial outputs. You can watch each web search happen.
  • Right pane, artifact preview. Empty at first, then the Markdown brief renders as the agent writes it.

Typical run timeline:

00:00  Stage 1 starts (research_and_write)
00:02  Agent decides to search for "Stripe company overview"
00:05  [web-search] 12 results returned
00:08  Agent decides to search for "Stripe recent news 2025"
00:12  [web-search] 8 results returned
00:18  Agent starts writing the brief
00:35  Brief draft complete, appearing in right pane
00:42  Agent saves artifact as "company_brief.md"
00:43  Run complete ✅

The Run button is now greyed out (run in progress) and reactivates after completion.

After the run

Three things you can do with the artifact in the right pane:

  • Read it: scroll, copy text, click links.
  • Download: .md for raw markdown, or PDF/DOCX for the rendered version. Look for the download icon at the top of the preview pane.
  • Open in chat: if you want to ask the agent to tweak this specific output, click Edit in chat. A new chat opens with the artifact loaded as context.

Run history

Every run is logged. On the App page, the Runs tab shows past runs with: timestamp, who ran it, inputs used, status, duration. Click any run to see its artifact and the agent's reasoning trace.

Step 8: Run again with different inputs

Go back to the App page, click Run (or "New run"), fill the form with a different company:

  • company_name: Notion
  • company_url: notion.so
  • include_competitors: off

Click Run. Same workflow, totally different output. This is the payoff moment: you described the prompt once; now it scales to any input.

Step 9: Edit the App

Suppose after a few runs you decide the briefs should also include "key hiring signals". Two ways to update the App:

Option A: Edit conversationally (recommended)

  1. On the App page, find Edit in chat or Chat with this App.
  2. A chat opens with the App's design loaded.
  3. Type:
You: Add a "Hiring signals" section to the brief.
Include open headcount, key role types being hired,
and any noteworthy executive hires in the last 6 months.

The agent reads the current App, modifies the stage goal, validates, and calls PUT /api/apps/{id}. You'll see a diff before save:

Diff for Company Brief v1 to v2

 stages[0].goal:
  - ...strengths/weaknesses. Each section ~3 paragraphs.
  + ...strengths/weaknesses, and hiring signals (open
  +   headcount, key roles, exec hires last 6 months).
  +   Each section ~3 paragraphs.

Approve and save as v2?

Option B: Edit fields directly

  1. On the App page, click Edit.
  2. You see all fields raw: name, icon, tags, inputs, stages, artifacts, resources.
  3. Change anything: rename a field, swap an input type, edit the stage goal.
  4. Click Save to create v2.

Either way, old versions stay accessible from the Versions tab. Rollback with one click.

Step 10 (optional): Schedule it

For Apps you want running automatically:

  1. On the App page, open the Schedules tab.
  2. Click + New schedule.
  3. Fill in three sections:
    • Cron: pick a preset (Hourly, Daily at 9 AM, Weekly Monday) or write custom.
    • Inputs: what values to use each run. For "company_name" you could hard-code a list, or use a dynamic value if your App supports it.
    • Delivery: where the artifact goes. Email, Slack channel, Drive folder, webhook.
  4. Click Save schedule.

The schedule is now active. The next run time appears on the App page. Open the Schedules tab any time to pause, edit, or delete the schedule.

What you accomplished

You used Aitroop's full operational loop:

  1. Built an App by chatting with the App Builder skill: no JSON, no code.
  2. Reviewed and confirmed the design before it was saved.
  3. Ran the App twice with different inputs to see how parameterization works.
  4. Edited the App through another conversation.
  5. (Optional) Scheduled it to run on its own.
Same loop, every time. Whether you're building a one-input briefing App or a 5-stage outreach pipeline, the way you build it is the same: describe what you want, answer questions, review the design, confirm. The agent handles the JSON, the API, the validation.

Troubleshooting and common confusions

"The agent didn't ask any clarifying questions."

That happens when your initial description was specific enough. The agent jumps straight to the design review (step 5). Same flow from there: review, confirm or revise.

"My App needs to read Gmail / Drive / GitHub. What now?"

Those are Connects (OAuth integrations). When you describe an App that needs Gmail data ("read my last 50 emails and..."), the App Builder adds google to resources.connects. The first time you run the App, you'll be prompted to authorize Gmail. Authorize once, runs forever. See Connects for the full flow.

"The form fields look wrong."

Two paths:

  • Before saving (step 5): tell the agent what to change. "Change company_name to a textarea instead."
  • After saving: open Edit on the App page, or use the conversational edit (step 9).

"My run failed."

  1. Open the Runs tab on the App page.
  2. Click the failed run.
  3. Read the error in the run log. Common causes:
    • Timeout: increase timeout_ms on the stage (default 3 min; try 10 min for heavy research).
    • Missing Connect: authorize the required Connect from Settings to Connects.
    • Bad input: the form value didn't match what the agent expected. Run again with a different value.
  4. Click Debug in chat to open the failed run as a chat: same context, same inputs, but now interactive.

"How is this different from ChatGPT?"

ChatGPT has no persistent Apps, no forms, no schedules, no typed artifacts, no Connect-based reads/writes to your tools, and no way to share a workflow with teammates without them re-doing all your prompt work. Aitroop adds all of those.

"Where do I find Skills and Connects available to me?"

  • Skills: Sidebar to Skills, or ask the agent "what Skills do I have?"
  • Connects: Sidebar to Connects shows authorized + available providers.

Frequently asked questions

Sign-up email never arrived.

Check spam. Wait 2 minutes. If still missing, sign in with Continue with Google; no email needed. If you must use email, click "Resend verification" on the sign-in screen.

The agent isn't asking me clarifying questions.

Your initial description was specific enough to fill in all 5 design slots. That's a good thing: the agent jumps straight to Step 5 (review the design). Same flow from there. If you'd rather force questions, end your message with "Ask me anything you need to know first."

"Save as App" button is grayed out.

The chat hasn't reached a saveable state. You need either (a) a recognizable trigger phrase in your messages, or (b) at least one agent turn that looks like a complete task. Type "save this as an app" instead; the App Builder will figure out an AppDef from the conversation.

Form has the wrong fields after the App is saved.

Don't worry, the App is editable. Two options:

  • Conversational: on the App page, click Edit in chat. Tell the agent "Change company_name to a textarea". Approve the diff.
  • Direct: on the App page, click Edit. Change any field by hand. Save.

Either way, the change creates a new version. Old versions stay accessible in the Versions tab.

First run failed. What now?

  1. Open the Runs tab on the App page.
  2. Click the failed run.
  3. Read the error at the top. Most common: timeout (bump timeout_ms), missing Connect (authorize), wrong format (edit goal).
  4. Click Debug in chat: opens the failed run as a chat with full context. Ask "why did this fail?"

See Executions for the full debugging playbook.

Run took way longer than I expected.

Three common reasons:

  • Research stages. Web search + reasoning over 10+ results takes 30-90 seconds. Normal.
  • Cold sandbox. First run after long idle: +1-3 seconds for sandbox provision.
  • Vague goal. If the agent isn't sure what "good" looks like, it iterates. Tighten the goal: add structure, constraints, examples.

How do I share this App with a teammate?

Three levels:

  • Private (default): only you can see / run.
  • Team: visible to your workspace. Open the App, click Share to Workspace.
  • Public link: anyone with the link can run it. Open the App, click Share to Public link. Generates a token; revoke any time.

Connects under team Apps are per-user: your teammate authorizes their own Gmail, not yours. See Connects.

I want to call this App from a webhook / script.

One curl:

curl -X POST https://app.aitroop.net/api/apps/<appId>/run \
  -H "Authorization: Bearer $AT_USER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "input": { "company_name": "Stripe" } }'

Get $AT_USER_TOKEN from Settings to API Tokens. The response includes the execution ID; stream GET /api/app-executions/:execId/stream for live progress, or poll GET /api/app-executions/:execId for the final state.

Where can I learn the full set of features?