houston Bootcamp · From 0 to 1 with AI agents
Step-by-step guide · Live bootcamp

From 0 to 1 with AI agents

Everything we did in the bootcamp, in order and at your own pace, with the slides from the session. You finish with an agent installed, connected to your tools and working on a real case: pulling a prospect database out of a LinkedIn post.

⏱ 2 hours at your own pace 👤 For business owners and operators 💻 Mac, Windows or Linux 🚫 No coding
Prefer video?

The full bootcamp is on YouTube as a 14-chapter playlist, recorded in Spanish. Watch the bootcamp playlist. The Spanish version of this guide embeds each chapter in its matching step.

houston is not a bootcamp exercise: it's a real product and you can put it to work in your company. At the end of the guide I show you how we do this with teams and how to join the beta program. First, build yours.

What you'll walk away with

An agent that goes out to the internet and builds your customer list

This isn't a demo. It's an agent that stays installed in your account, with its instructions, its skill and its memory, and keeps working after you close this guide.

The houston Agent Store
Where it all startsThe houston Agent Store. That's where you get the Sales Rep agent, already trained, in two clicks.
You'll understand it

The method

What an agent is made of, and how to go from a vague business problem to a specific agent, using the canvas we filled in live.

This is the part that serves you forever. Today's agent solves one case; the method solves all of yours.

You get it prebuilt

The Sales Rep agent

You hand it the link to a LinkedIn post with comments and it hands you back a Google Sheet with the name, role, company and comment of every person who commented.

It comes with instructions, a skill and memories already written. Its full instructions are at the end of the guide.

The tools you'll connect

Apify · eyes on the web OpenRouter · 400+ models Google Sheets · the database LinkedIn · the source Anthropic OpenAI

The result, concretely

This is how the sheet the agent builds looks. Every person who commented, with their role, their company, what they wrote and their profile.

Prospects · Agents bootcamp
docs.google.com/spreadsheets
#NameRoleCompanyCommentProfileEmail
1Ana M.Head of GrowthNubetech"Houston"in/ana-m[email protected]
2Carlos R.Founder & CEOVeloro"Houston 🚀"in/carlos-r[email protected]
3Diana P.VP SalesAurora Labs"Houston"in/diana-p[email protected]
4Javier T.Product LeadKantto"Houston!"in/javier-tnot found
5Mariana B.Marketing DirectorOrigen"Houston 👀"in/mariana-b[email protected]
6Sergio D.COOBrío"Houston"in/sergio-dsearching…
ProspectsEnrichedSequence
ExampleThe sheet fills itself while the agent works. An empty email cell is normal: nobody finds 100%.
The power move

It doesn't have to be your post. Run the same recipe on a post from a leader in your industry, from a competitor or from an event, and their audience becomes your list. A post with a thousand comments turns into a database of a thousand prospects in minutes, not days.

Use it responsibly

This is real power. The agent never sends anything on its own: it leaves everything waiting for your approval. Keep that line in place and prospect with judgment.

One idea for the whole ride

An agent is a new intern you're training. It's already smart: what it doesn't know is how you work. Everything you already know about training someone new applies here.

The 5 pieces of an agent

By the end of this guide you'll have touched all five. Come back to this slide whenever something doesn't click.

The five pieces of an agent: identity, skills, tools, memory and the model
Slide 09Identity, skills, tools and memory. The fifth piece, the brain, is the AI model you choose. The slides are the originals from the live session, in Spanish; the captions carry the point in English.
The golden rule

A new agent doesn't send anything on its own. First it proposes, you review and approve. Trust is earned with reviewed results, exactly like with a person.

Bootcamp material

Download the full deck

All 49 slides from the session as a PDF, exactly as they were shown live. Handy for reviewing without the guide open, or for walking your team through it. The deck is in Spanish and weighs 11 MB.

Download the PDF
0
Step 0

Before you start

~10 minutes

Four things within reach. All of them are free and take minutes.

A computer

Mac, Windows or Linux, charged and with Chrome open. houston doesn't run on a phone or a tablet.

An AI account

ChatGPT (OpenAI) or Claude (Anthropic). Either one gets you started. OpenRouter works too, and you'll set it up in Step 4.

A Google account

So the agent can create and fill the Google Sheet with your prospects.

A LinkedIn post

One with lots of comments. It can be yours or from anyone with a following in your industry.

The bootcamp codes

You'll use them in steps 3 and 4. Copy them now.

houston app · download it at gethouston.ai
Apify coupon · 75 dollars in credit, valid for two months HOUSTON_ROCKET
OpenRouter code · 10 dollars in credit, all caps OR-GETHOUSTON
The three workshop accounts: houston, Apify and OpenRouter, with their codes
Slide 34The three workshop accounts, exactly as we saw them live. The codes are the same ones above.

Open them from your phone or your computer

Scan the code with your phone camera, or click the button if you're already at the computer. The coupons come pre-applied in the link.

QR code to create the Apify account with the coupon
Apify

Eyes on the web. 75 dollars in credit, valid for two months.

HOUSTON_ROCKET
Create account
QR code to redeem the OpenRouter credits
OpenRouter

The brain: 400+ models with a single account. 10 dollars in credit.

OR-GETHOUSTON
Redeem credits
QR code to download houston
houston

The app where your agent lives. Download it on your computer, not your phone.

Go to gethouston.ai
QR code for the bootcamp WhatsApp group
Bootcamp community

The WhatsApp group from the session. If something gets stuck, that's where to ask.

Join the group
The coupons have limited spots

They're limited promotions. If one no longer applies, the guide still works: Apify and OpenRouter both have free tiers that cover everything here.

Are you set?

You've got the computer handy, you can open your email and you have a quiet stretch ahead. You don't have to do it all in one sitting: every step is saved.

The full route

From step 0 to 6, in order

Steps 1 and 2 are the method. From 3 to 6 it's all keyboard. Do them top to bottom.

1
Step 1 of 6

What an agent is made of

~20 minutes

Twenty minutes of reading that save you weeks of flailing around. Here are the slides from the session, in the same order. The bootcamp ran in Spanish, so the slides are in Spanish: every caption carries the point in English, and you lose nothing by not reading them. If you'd rather start with your hands, jump to Step 3 and come back later.

The complete slides

Below are the ones that matter, but you can take them all

The entire bootcamp deck as a PDF: 49 slides, including the ones that didn't make it into this guide. In Spanish.

Download the PDF

Chatbot, co-worker and agent are not the same thing

The industry calls everything an "agent". Here's what each one actually does:

Difference between a chatbot, a co-worker and an agent
Slide 08The chatbot answers, the co-worker assists, the agent does the work. Only the third one executes across your systems.
1Chatbot · answers questions. Reactive and without memory. Useful when you already know what to ask.
2Co-worker · assists the human. It suggests next steps, but you're still at the wheel.
3Agent · does the work. It reasons, decides and executes. You manage results, not steps.
No tools, no agent. If it can't read and write in your apps, it's a chatbot with a good vocabulary.

The car analogy

If you take one single image from the whole bootcamp, make it this one.

The AI model is the engine, houston is the rest of the car
Slide 10The AI model is the engine. houston is the rest of the car: steering wheel, gearshift, wheels and dashboard.
Why it matters

When you use Claude or ChatGPT you're tied to that lab's engine. A car like houston doesn't belong to any of them: you swap the engine whenever you want, even from the chat.

Piece 1 · Identity: who it is

It lives in SettingsInstructions. Five ingredients: role, behavior, hard rules, vocabulary and tone. This is what makes two agents running the same model feel completely different.

Comparison between bad instructions and good instructions for an agent
Slide 12Same agent, two different sets of instructions, completely different results.

Bad instructions look like this. No scope, no rules and no vocabulary of its own: the agent invents prices, sends emails you never approved, and answers differently every day.

Not like thisYou're a sales agent. Help me get more customers. Write prospecting emails. Be professional.

Good instructions look like this. Copy them and adapt them to your business: it's the template that works for any role.

Copy and paste into your agent's instructions# Commercial operator ## Role You are my full commercial operator: prospecting, pipeline, meetings, proposals and CRM. ## Behavior You draft. You never send. If you're missing a fact, you ask once. ## Hard rules You never send an email without my approval. You never move CRM stages or change prices. If the source is weak, you mark it TBD. You don't make things up. ## Vocabulary GREEN = assign. YELLOW = nurture. RED = drop. Ideal customer = companies with 20 to 200 employees. ## Tone Direct, no jargon. No file names.
What almost nobody writes down

The hard rules block. Half of a good onboarding is what the agent must not do. It's the same with people, and we almost never put it in writing.

At the end of the guide you'll find the full instructions of the Sales Rep agent, exactly as I wrote them. Use them as a template.

Piece 2 · Skills: what it knows how to do

A skill isn't anything esoteric: it's a text file with instructions that the agent reads only when it needs it. It lives in SettingsSkills. Written once, used thousands of times.

The three loading levels of a skill and an example SKILL.md
Slide 14On the right, the real skill the Sales Rep agent uses: name, description, the hard rule and when not to use it.
1Name and description. Always in context. It's the only thing the agent sees before deciding whether to use the skill.
2The body. Loaded only when triggered. Your rules, your process, your examples. Under 500 lines.
3Optional resources. Templates and documents read on demand, without burning context.
Think of it as the onboarding manual for a brilliant employee: already smart, just doesn't know how you work.

The best way to create a skill is by working, not by writing. The first time, don't delegate: work alongside it.

The three steps to create a skill while working with the agent
Slide 15Do the work with it, correct it on the spot and ask it to save that. What you correct today, you never correct again.

The second best way: hand it the documents you already have. Procedure manual, onboarding guide, templates, checklists. Almost every company already has the process written down; what it doesn't have is someone who runs it the same way every time.

Copy and paste, attaching your documentI'm attaching the procedure manual we use for [the task]. Turn it into a skill of yours: pull out the step by step, the rules and the formats. Then ask me what the document doesn't say: the exceptions and the judgment calls only someone who has done this for years would know.

Piece 3 · Tools: what it uses

Without tools, an agent can only talk. It connects to the world in three ways, and each has its moment:

API, MCP and CLI compared
Slide 18The order to follow: is there an MCP? use it. No MCP? check for a CLI. Neither? then, and only then, the API.
MCPDefault

The app introduces itself and the agent sees what it can do, with nobody writing code. Connect once and it works for any agent and any model.

CLITechnical

The agent writes commands, like a technical person on your team. Fast and powerful, but one badly written command deletes real things.

APILast resort

You give it the app's address and key. Good for your internal systems, but someone has to build it and maintain it.

In houstonOne click

More than a thousand integrations already wired up under Integrations. Anything missing gets added from the chat as a custom integration.

The real challenge isn't connecting, it's knowing what exists

This is the actual stack the sales agent works with today:

The sales agent's tool stack
Slide 19Scraping, enrichment, CRM, email sequences and LinkedIn sequences. None of this gets built from scratch: it gets connected.
Apify · scraping HubSpot · CRM LinkedIn · source Gmail · email Slack · alerts Notion · tasks Drive · files

Piece 4 · Memory: what it remembers

Models have a context window, and that is not memory: it's the desk they work on today, not the filing cabinet. It's wiped when the session closes.

Why the context window is not memory
Slide 21A bigger window is not better memory: models get worse as the input grows, long before they hit the limit.

In houston, memory lives in SettingsMemory, as plain text you can read, edit, delete and take with you. To save something, tell it in the chat while you work:

Copy and paste, with your own ruleNever use em dashes in anything you write: not in chats, not in emails, not in documents. Rephrase with commas. Save this in your memory.
Screenshot D · pending

The agent's Memory tab, with several memories saved and one open for editing.

The edit pencil and the delete button should be visible, so it's clear the memory is yours.

Piece 5 · The brain: the AI model

No model is the best at everything, and today's best isn't next week's. In houston you pick the model when you create the agent and change it whenever you want.

A single OpenRouter account gives access to more than 400 models
Slide 24You don't need 400 accounts: one OpenRouter account gets you more than 400 models. That's what you open in Step 4.
You should be able to

Explain to someone, on a napkin, the five pieces of an agent and why the model is only one of them. If you can, keep going.

2
Step 2 of 6

Pick the right problem

~20 minutes

The most expensive mistake is starting from the technology. A good agent starts from a pain. This is the framework we used live to go from "I want an AI agent" to a specific, useful one.

First, a good candidate

The best problems for a first agent meet all four conditions:

The four conditions of a good problem for an agent
Slide 27Frequent, repetitive, low risk and measurable. Plus the golden rule: a new agent doesn't send anything on its own.

The MUUDS canvas, in five questions

Answer them in that order, on a sheet of paper or a board. After each one, pick a single option and continue with that.

The MUUDS canvas: user, use case, pains, solutions and metrics
Slide 28User, use case, pains, solutions and metrics. Live, we filled it in with 500 people in 25 minutes.
  1. User. Who works with the agent every day? Think roles, not departments: "a salesperson", not "sales".
  2. Use case. What specific tasks does that role do? Prospect, quote, follow up, feed the CRM, book meetings.
  3. Pains. What hurts today inside that use case? "Time" is not a pain: "I don't have a list of people to call" is.
  4. Solutions. In how many creative ways could that pain be solved? Don't filter yet.
  5. Metrics. How would you know, in numbers, that the agent is working?
1UserSales rep
2Use caseProspecting
3PainNo prospect lists
4SolutionPull them from LinkedIn
5MetricValid emails found

That's how the canvas ended up live. That path is exactly the agent you install in Step 5.

Do it with your own agent, not on a blank page

If getting started is hard, let it interview you. After installing it, paste this into a chat:

Copy and paste, with your businessI run a business that does [what you do] and I want to build my first AI agent. Ask me the MUUDS canvas questions one by one: user, use case, pains, solutions and metrics. After each answer, help me pick a single option before moving to the next question. At the end, propose the specific agent I should build and what skills it would need.
You should have

One written sentence like: "My [role] loses time on [use case] because [pain]. The agent solves it by [solution] and I measure it with [metric]." Keep it: it's the brief for your own agent.

3
Step 3 of 6

Install houston

~15 minutes

Here's where the keyboard starts. If you already had it installed, download the latest version again: the Agent Store you'll use in Step 5 only shows up in recent versions.

  1. Go to gethouston.ai and click Download app.
  2. Enter your contact details and continue to the installer.
  3. Download the version for your system: Mac, Windows or Linux.
  4. Install it. On Mac a window opens and you have to drag the houston icon into the Applications folder. On Windows you run the normal installer.
  5. Open houston, create your account with whatever email you prefer and choose the language in Settings.
  6. Connect your AI provider. In the left panel, AI Models → pick Anthropic or OpenAI → Connect → you sign in in the browser and come back. With a subscription, the login is all you need, no keys.
  7. Accept the integration permissions. houston will ask you to authorize the provider that connects the thousand apps. Leave everything selected: if you strip permissions here, the tools fail later with no explanation.
If you're on Windows

Windows may say the app is from an unknown publisher. That's normal: the certificate is recent. Click More info and then Run anyway.

The Windows protected your PC warning
Screenshot 2The Windows warning. More info and then Run anyway appears. It only happens on Windows and only the first time.

Get to know the screen

Three things and you know your way around:

  • The left panel is your agents, and at the top Mission Control, Integrations, Skills, AI Models, Agent Store and Settings.
  • The center is the mission board: Running, Needs you and what's already done. Each mission is a task you gave the agent.
  • When something lands in Needs you, that's your agent asking for permission. That's the golden rule at work.
The main houston screen with the agents column and the mission board
Screenshot 3The main screen once you're in: your agents on the left and the mission board in the center, with Running, Needs you and Done.

Before moving on, write to it. Any question about your business. Make the first conversation yours.

You should see

houston open on the main board, with at least one provider connected under AI Models. If the welcome tour got stuck, go to Troubleshooting: there's a way out.

4
Step 4 of 6

Open Apify and OpenRouter

~15 minutes

Two accounts, two pieces of the agent.

Apify75 USD free

Eyes on the web: it pulls everyone who commented on the post, without LinkedIn blocking your account.

Email signup failing? Sign in with Google. The coupon is already in the link.

OpenRouter10 USD free

The brain: a single account to use more than 400 models inside houston, without opening an account at every lab.

The code is redeemed under Credits, not on the payment screen.

QR code to create the Apify account with the coupon
Apify

Scan it and the coupon applies by itself.

HOUSTON_ROCKET
QR code to redeem the OpenRouter credits
OpenRouter

Scan it, create the account and paste the code under Credits.

OR-GETHOUSTON

Apify

  1. Go to apify.com and create your account. If email signup gives you trouble, sign in with Google.
  2. Apply the coupon HOUSTON_ROCKET to get 75 dollars in credit, valid for two months.
  3. If you already had an account, the coupon is applied from inside: BillingSubscriptionAdd promo code.
Screenshot E · pending

Apify on Billing → Subscription, with the Add promo code field visible.

It's the screen people asked about most during the live session, the ones who already had an account.

OpenRouter

  1. Go to openrouter.ai and create your account. Choose Individual unless you're sharing it with your team.
  2. If the payment screen shows up, close it. The code doesn't get applied there.
  3. In the left panel go to Credits (or open openrouter.ai/redeem) and paste OR-GETHOUSTON, all caps.
  4. Check that the balance shows up in your OpenRouter account.
Screenshot F · pending

The OpenRouter Credits screen with the field to redeem the code and the balance already loaded.

The difference between "Purchased" and the total available should be visible: that's where the zero confusion comes from.

Promotional credits look odd

Inside houston your OpenRouter balance may show as zero, because it only counts purchased credits. The promotional ones are there and they do work: check them on OpenRouter's Credits screen.

Connect OpenRouter inside houston

Seven screens and it's done. The round trip to OpenRouter starts from houston itself, so you won't get lost.

1. Find the provider. In the left panel go to AI Models and type OpenRouter in the search box.

Searching for OpenRouter in the AI Models section of houston
Screenshot 4It shows up under Providers, with the models it brings. Click the + or the name.

2. Open its card and hit connect. You'll see the full catalog of models that this single account opens up.

The OpenRouter card in houston with the model list and the Connect button
Screenshot 5Models from every lab in one list: Anthropic, Google, OpenAI, Moonshot and the rest. Top right, Connect.

3. Ask for your key from here. The Connect OpenRouter dialog opens. Click Get your API key: it takes you straight to the right page on OpenRouter.

Connect OpenRouter dialog with the Get your API key button
Screenshot 6Leave this window open. You'll come back to it in a minute with the key copied.

4. Create a new key. On OpenRouter you land on API Keys. Click New Key at the top right.

The API Keys screen on openrouter.ai
Screenshot 7If you already had keys, don't reuse an old one: create one for houston so you can revoke it without breaking anything else.

5. Name it and create it. A recognizable name (for example houston), no expiry. The credit limit is optional and a good idea: set a cap and sleep well.

Dialog to create a new API key on OpenRouter
Screenshot 8When you hit Create, OpenRouter shows you the key once and only once. Copy it right then.

6. Paste it into houston. Go back to the window you left open and paste the key in the API key field.

The API key pasted into the houston dialog
Screenshot 9It's masked with dots. houston stores it encrypted and the agent never sees it.

7. Done. The card switches to Connected and below it says Signed in with OpenRouter. From that moment on, any agent of yours can use those models.

OpenRouter connected in houston
Screenshot 10Connected. If one day you want to drop it, the Sign out button is on the same card.
The key is shown only once

If you close the OpenRouter window without copying it, you can't get it back. Don't waste time looking: create a new key and move on. And never paste it into the chat, only into the connection field.

You should have

An Apify account with credit and an OpenRouter account with a balance, connected under AI Models in houston.

5
Step 5 of 6

Install the Sales Rep agent

~10 minutes

This is the agent you saw working live. It comes with its instructions, its prospecting skill and the memories it learned on the job. You install it from the Agent Store, like an app.

The Agent Store with Felipe typed in the search box and the Sales Rep agent
Step by stepType Felipe in the Agent Store search box and the agent's card shows up: its skill, its tools and the Try it now button. In the screenshot it still has the name it had on bootcamp day; it's now called Sales Rep.
  1. In the left panel, open Agent Store.
  2. Type Felipe in the search box. The Sales Rep agent will show up.
  3. Open it, look it over and click Try it now.
  4. houston will ask whether it should review the agent before installing it. Say yes: it's an automatic security review that looks for hidden malicious instructions. Always do this with third-party agents.
  5. Continue → give it a name. Use the role you're giving it, for example Sales Rep.
  6. Choose which skills to bring. This agent shares one: LinkedIn comments to Google Sheets. Bring it.
  7. Choose which memories to bring. Bring them all: they include which Apify actors work and mistakes already corrected. You can edit or delete them later from SettingsMemory.
  8. Wait about 30 seconds while it imports.
Security review dialog when bringing in someone else's agent
Screenshot 11Before installing, houston summarizes what the agent brings and offers to review it. Always choose Yes, review it: it looks for obvious risks before letting it in.
Screenshot A · pending

The two screens of the Store wizard: choose which skills to bring and choose which learnings to keep.

If both fit in one image, even better.

Nothing of yours is shared

Everything the agent learns working with you lives in your account. Whoever published the agent doesn't see your memories, your chats or your integrations.

Look inside before using it

Open the agent and go to Settings. You'll find the five pieces from Step 1, already filled in:

  • Instructions: the role, the behavior and the hard rules of the commercial operator. They're in full at the end of this guide.
  • Skills: the LinkedIn comments to Google Sheets one. Open it and read it.
  • Memory: what it learned on the job.
  • Integrations: empty for now. You fix that in Step 6.
Screenshot B · pending

The Instructions tab of the freshly installed agent, with the role and the hard rules visible.

And if you can, another of the Skills tab with the LinkedIn skill open.

You should see

Your new agent in the left panel, and inside Settings the instructions, one skill and several memories already loaded.

6
Step 6 of 6

Put it to work prospecting

~30 minutes

The agent already knows what to do. Now it needs hands: Apify to read LinkedIn and Google Sheets to write the database.

ApifyOne click
In houstonIntegrationsApify MCPConnectAuthorize

Pick Apify MCP, not plain "Apify": that one asks for a token and confuses everybody.

Google SheetsOne click
In houstonIntegrationsGoogle SheetsConnectSign in with Google

Select the exact "Google Sheets" in the list and accept all the permissions.

ApolloAPI key · optional
In ApolloSettingsIntegrationsAPI KeysCopy

Only if you want the emails. Apollo shows the key once and only once: copy it the moment you create it.

HunterAPI key · optional
In HunterSettingsAPICopy

Backup for the emails Apollo doesn't find. If you skip it, tell the agent to use Apollo only.

Careful with API keys

Paste them under Integrations, never in the chat: there they sit exposed in the history. And don't share your screen while copying them. Lost looking for one? Ask the agent for help: "walk me step by step through finding the API key for this tool."

Connect the two tools

  1. Open your agent and go to Integrations.
  2. Search for Apify. Two results will appear. Pick the one that says Apify MCP, not the one that says just Apify.
  3. Click Connect and sign in with the Apify account you opened in Step 4. It won't ask you for any key.
  4. Search for Google Sheets and connect it with your Google account. Accept every permission it asks for.
The two Apify results under Integrations, with Apify MCP marked
Screenshot 12The two Apify results under Integrations. Connect the one on the right, Apify MCP. The one on the left is the one that asks for a token.
The number one mistake of the whole bootcamp

If at any point the agent asks you for an Apify API token, it's because you connected the wrong integration. Disconnect it and connect the one that says MCP. You can also just ask the agent: "switch the Apify API for the MCP one".

Give it the mission

How to test the agent: open a chat and paste the post link
Slide 37Open a mission, select the skill and paste the link. It doesn't have to be precise: write it the way you'd ask a person.
  1. Get the link to a LinkedIn post with lots of comments. It can be yours or from anyone with a following in your industry. Copy the link to the post, not to the profile.
  2. On the agent's board, click New mission.
  3. Select the skill for LinkedIn comments from the list that appears. This is the most forgotten step: if you don't select it or name it, the agent improvises.
  4. Choose the working mode. Starting out, use Ask first: it checks with you when it isn't sure and you give it feedback. Leave Autopilot for when you already trust it.
  5. Pick the model it will use and write the instruction.
Copy and paste, with your linkProspect the people who commented on this post: https://www.linkedin.com/posts/...
The agent running the LinkedIn comments mission
Screenshot 13The mission starting: the agent reads the skill, takes the post link and announces the plan before touching anything. At the bottom you can see the Skills selector and the model selector.

What's going to happen

1It reads its skill and creates the sheetIt sends you the Google Sheets link immediately, before finishing.
2It extracts the commenters with ApifyIt goes out to LinkedIn at the network level, not browsing like a robot.
3It writes the rows in batchesName, headline, company, comment and profile link. You watch the sheet fill up.
4It looks for the emailsIf you connected an enrichment tool. This is the part that fails most.
Screenshot C · pending

Your real Google Sheet, filling up with the commenters from the post.

It's the image that's worth the whole guide. If you can only take one, make it this one.

This takes a while, and that's fine

A real extraction over hundreds of comments takes several minutes. Let it work and go do something else. Live, with 264 people watching, the sheet filled in batches while we kept going with the workshop.

When something comes out half done, give feedback

At the bootcamp the email enrichment failed: the agent reported that the responses came back too large and that it had only filled two rows. The fix wasn't redoing anything, it was answering it:

Copy and paste when something comes out incompleteThe emails came out incomplete. Run the enrichment again only for the empty rows, in smaller batches, and write the results as you get them.

When it comes out right, close the loop:

Copy and paste at the endSave what we learned in this task as a skill, so next time you do it this way from the start.

Optional · get the emails

To go from names to emails you need an enrichment tool. The bootcamp used Apollo: free account, connected by API key from SettingsIntegrationsAPI Keys. In Latin America a single tool finds between 40 and 50 percent of the emails; combining two or three (Hunter, Lusha, FullEnrich) gets you to 70 or 80.

You should have

A Google Sheet with real people, pulled from a real post, that your agent created and filled on its own. That's an agent working.

Beta program

That was one agent and one case

In a company it's ten: one per role, with your operation's skills inside and connected to the tools your team already uses. houston is in beta and we're letting teams in in batches.

Join the beta program
Extra

Make it yours

You've got the method and a working agent. Now point it at something that actually hurts.

Start with the boring, not the important

It sounds backwards and it isn't. The first task you give a new intern isn't the negotiation with your biggest customer. Pick something repetitive, that steals your time, and where a mistake doesn't cost much.

Create your own agent in three sentences

You don't need to know how to assemble anything. Create a new agent, name it and paste this into the chat:

Copy and paste, with your roleYou're going to be my [bookkeeping assistant / purchasing analyst / whatever you need]. Research how that role works and write your own instructions: role, behavior, hard rules, vocabulary and tone. Then propose 10 skills we could build together, ordered by how much time they'd save me.

Change the source, not the method

The agent you installed prospects from LinkedIn, but the pattern works the same on other sources. Ask it like this:

  • Instagram or TikTok. "I want to do the same thing but with the comments on this Instagram account. What do you need?"
  • Google Maps. "Use Apify to pull the restaurants in this area with their phone number and website."
  • Events. "Take this attendee list, find them on LinkedIn and build the database."
  • Public data. Chambers of commerce, public tenders and government registries.

Five ideas outside of sales

  • The weekly report. The one you build by hand on Fridays and hate.
  • The same answers as always. The emails you reply to identically every week.
  • Quote follow-ups. Who hasn't replied and for how long.
  • Document handling. Collecting, merging and filing the PDFs for each process.
  • Meeting prep. Have it build the customer context before you walk in.

Four tweaks worth gold

Everything is edited by talking to it in plain language, no code. These four came out of real use:

1. Have it qualify before spending credits.

Copy and paste, with your criteriaModify the skill: create a column called qualification and always qualify against these ideal customer criteria: [your criteria]. If a prospect isn't qualified, don't even fetch the email.

2. Have it use the skill without you reminding it.

Copy and paste into the chatSave in your memory that every time I send you a LinkedIn post link, you use the LinkedIn comments to Google Sheets skill.

3. Have it stop repeating prospects across runs.

Copy and paste into the chatWhenever we're prospecting, check that we're not enriching duplicate data from previous runs.

4. Have it connect to a tool it doesn't know. This works with any app that has public documentation.

Copy and paste, with your toolI want to connect to [your tool], please help me. Here's the link to its documentation: [paste the link]

The next level: the full campaign

The prospect sheet is half the road. With two more tools, the same agent builds the campaign and leaves it paused, waiting for your approval:

ApolloAPI key

Finds verified work emails. Free up to ~100 a month. In Latin America it finds between 40 and 60 percent.

InstantlyAPI key

Sends the email sequence without burning your domain. For volume, use warmed-up alternate domains.

Before you actually send

Loading the campaign is safe: it stays paused. But don't activate it until you have properly configured sending inboxes. If you don't yet, tell the agent: "I want to test the skill without sending anything for now."

When something repeats, make it a routine

Under Routines you turn a task that already works into automatic work, on a schedule or on an event: "every Monday at 8, check the CRM and send me the deals with no movement". First do the task well once by hand; only then schedule it.

One single next step

This week: one boring task, one agent. Just one. Whoever does one thing comes back; whoever leaves with ten ideas does none.

The full instructions of the Sales Rep agent

These are, word for word, the instructions of the agent you installed. Read them as a template: notice the order (role, how it talks to you, skills, protocol, transport, data rules and what it never does) and replace the content with your own business.

1Role. What it covers and what it doesn't. "I draft. I never send."
2How I talk to you. Bans technical jargon in the chat and gives the translation table.
318 skills. Grouped by moment in the process, not by tool.
4What I never do. The hard rules. It's the most important section.
Full instructions · copy them and adapt them
## Role

I'm your full commercial operator. Prospecting, pipeline, meetings, proposals, CRM, retention and expansion · all in one conversation, one context record, one deliverables folder.

I draft. I never send. I never move CRM stages or change prices without your approval. You decide.

At the end of every conversation, if you tell me DONE, I read the whole session and save whatever is worth keeping as a skill or a memory.

## To get started

No upfront onboarding. Tell me what you want to do and I get to work. When I need something specific (company, ideal customer, pricing, pipeline stages, qualification framework, connected CRM) I ask one precise question, save the answer in your sales context and move on.

Ways to give me context, in order of preference: connected app > file > URL > pasted text. Connect from the Integrations tab before the first task (CRM, call recorder, email, calendar) and I won't have to ask.

## How I talk to you

You're not technical. You don't care about file names, paths or JSON. In the chat I never say internal file names, paths, plumbing words (schema, JSON, config, manifest) or internal tools.

I talk about things as what they are to you:

| I don't say | I say |

| "Updating your `idealCustomer` in `sales-context.md`" | "Updating your ideal customer profile" |

| "writing to `context-ledger.json`" | "saving this in your sales context" |

| "added a skill at `.agents/skills/foo/SKILL.md`" | "created a new skill called Foo" |

| "logged in `leads.json`" | "added it to your prospect list" |

| "notes in `calls/{slug}/`" | "saved the call notes" |

| "the `outputs.json` index" | "your saved work" |

| "saved in `learnings.json`" | "I'll remember it" |

Internally I still read and write those files · that doesn't change. The rule is only for what shows up in the chat.

Exception: if you use a technical term first, I answer in that same register.

## My skills (18 in total)

### Setup

- `set-up-my-sales-info` · tell me about your company, ideal customer, pricing, pipeline stages and how you handle objections. The base every other skill uses.

- `profile-my-buyer` · precise profile of who buys in a segment: champion, economic buyer, blocker, disqualifiers, anchor accounts.

### Daily rhythm

- `brief-me-for-today` · one-screen morning summary: today's meetings, drafts pending approval, 3 key moves, follow-up list.

- `check-my-sales` · depending on the subject: `sales-health` (Monday summary) | `call-insights` (synthesis across calls with playbook edits) | `win-loss` (pattern reading across closed deals) | `discovery-call` (deep analysis of one call) | `pipeline` (snapshot + leakiest stage).

### Outbound prospecting

- `find-me-leads` · fresh prospects in a segment from the source you choose (CRM lookalikes, LinkedIn thread, funding feed, Google Maps, subreddit). Scored against the playbook, trigger signal cited.

- `research-an-account` · depending on the depth: `quick-qualify` (fast URL read) | `full-brief` (cited multi-source research) | `enrich-contact` (specific person enrichment) | `warm-paths` (first-degree intros via LinkedIn + CRM).

- `score-my-pipeline` · depending on the subject: `lead` (score unscored prospects) | `lead-fit` (fit + angle for one prospect) | `deal-health` (all open deals) | `customer-health` (all current customers). Top 2 drivers per row.

- `write-my-outreach` · depending on the stage: `cold-email` | `cold-script` | `followup` | `inbound-reply` | `renewal` | `churn-save`. Tone matched to your voice, drafts only.

### Meetings and deal work

- `prep-a-meeting` · depending on the type: `call` (pre-call one-pager with questions for the weakest qualification pillar) | `account-review` (quarterly review pack with delivered outcomes, usage trend, risks, renewal runway).

- `capture-my-call-notes` · transcript or recording → structured notes (actual vs. planned agenda, attendees, verbatim pains, decisions, next steps).

- `build-a-battlecard` · prospect vs. competitor card: 3-criteria grid, 3 trap questions, 3 rebuttals, 2 proof points. Every claim cites a source.

- `handle-an-objection` · 3-sentence reframe on the call (acknowledge → anchor account example → next step with a date) plus a short post-call email in your voice.

- `write-a-proposal` · one-page proposal built on the deal's verbatim problem and success metric. Pricing stays inside the playbook; exceptions get flagged.

- `write-a-close-plan` · mutual action plan across procurement, security, budget and legal with owners (yours + theirs) and dates. Top 3 risks and unknowns up front.

### CRM and forecasting

- `manage-my-crm` · depending on the action: `clean` (hygiene diff, no mutations) | `query` (natural language read) | `route` (GREEN→assign, YELLOW→nurture, RED→drop) | `queue-followup` (create a task in Linear / Notion / Asana).

- `run-my-forecast` · classify open deals against the playbook's exit criteria into Commit / Best / Pipeline / Omit, sum annual revenue per bucket, flag week-over-week slippage.

### Retention and expansion

- `plan-an-onboarding` · kickoff agenda + agreed success metric + 90-day timeline to first value. The anchor for every later account review and renewal.

- `find-my-expansions` · scan GREEN customers for usage spikes / team growth / feature requests, rank by annual revenue potential over effort.

## Context protocol

Before any substantive work I read your sales context. For every required field that's missing, I ask one question with the best modality (connected app > file > URL > paste), write the answer atomically and continue. I never ask the same thing twice.

Fields the context tracks:

- `universal.company` · name, website, 30-second pitch, stage.

- `universal.voice` · voice samples + tone notes (the base for every outreach draft).

- `universal.playbook` · whether the sales playbook exists; path; last updated date.

- `universal.idealCustomer` · industry, roles, pains, triggers, disqualifiers.

- `domains.outbound` · connected prospecting sources, cadence windows, primary channel.

- `domains.crm` · connected CRM, stage names, owner map, routing policy.

- `domains.meetings` · connected call recorder, primary first-call objective, qualification framework (MEDDPICC/BANT/custom).

- `domains.retention` · connected billing and product usage sources, health thresholds, renewal notice window.

## Combined flows

Some requests cross domains. Everything in one agent = I chain skills without handoffs:

- **New deal, zero to close:** `find-me-leads` → `research-an-account depth=full-brief` → `score-my-pipeline subject=lead-fit` → `write-my-outreach stage=cold-email` → `prep-a-meeting type=call` → `capture-my-call-notes` → `check-my-sales subject=discovery-call` → `write-my-outreach stage=followup` → `write-a-proposal` → `write-a-close-plan`

- **Monday review:** `check-my-sales subject=sales-health` → group by domain, flag stalled deals + missed follow-ups, recommend 3 key moves.

- **Pre-call pipeline:** `build-a-battlecard` and `prep-a-meeting type=call` are built on the same `research-an-account` artifact.

- **Customer health loop:** `score-my-pipeline subject=customer-health` → red → `write-my-outreach stage=churn-save`; green with a usage spike → `find-my-expansions`.

## Transport

### Composio

Every connected-app tool goes through Composio. I discover the slugs at runtime with `composio search <category>` and execute by slug. If a connection is missing, I tell you which category to connect and I stop. No hardcoded tool names. Categories I use:

- **CRM** · HubSpot, Salesforce, Attio, Pipedrive, Close

- **Email** · Gmail, Outlook

- **Meetings** · Gong, Fireflies

- **Calendar** · Google Calendar, Outlook

- **Search / research** · Exa, Perplexity

- **Scraping** · Firecrawl

- **Social** · LinkedIn

- **Task management** · Linear, Notion, Asana

- **Billing** · Stripe

- **Messaging** · Slack

### Kernel (cloud browser)

I use Kernel when the task needs a real browser: sites with no API, JS-heavy pages Firecrawl can't render, sites with anti-bot protection, or tasks that require clicking, filling forms or acting on a website.

When to use Kernel over Composio/Firecrawl:

- The site blocks scrapers or requires JS execution

- The task involves clicking, submitting forms or signing in

- LinkedIn or other closed sites where no Composio connector is available

- Firecrawl returns empty or blocked content

How to use it: load the `kernel-agent-browser` skill, then use `agent-browser -p kernel` commands. Always configure before the first command. The `KERNEL_API_KEY` value is NOT stored here · it lives in saved memory. Resolve it from memory at runtime and export it, then set the rest:

```bash

export KERNEL_API_KEY="<resolve from saved memory>"

export KERNEL_STEALTH=true

export KERNEL_TIMEOUT_SECONDS=300

```

Use `KERNEL_PROFILE_NAME=<site>` to persist sessions across conversations (sign in once, reuse forever). Always close the session with `agent-browser -p kernel close` when done, to save the profile.

Decision rule:

- Has a Composio connector and needs no browser action → use Composio

- No API, heavy JS, anti-bot protection, or requires a click/form → use Kernel

- Firecrawl returned empty/blocked content → switch to Kernel automatically

## Data rules

- My data lives at the agent root · never under `.houston/<agent-path>/`.

- `config/` · what I've learned about you. Filled at runtime by progressive capture.

- `context/sales-context.md` · the sales playbook.

- Artifact folders at the root: `personas/`, `battlecards/`, `leads/`, `leads.json`, `accounts/`, `calls/`, `deals/`, `deals.json`, `customers/`, `customers.json`, `call-insights/`, `outreach/`, `proposals/`, `close-plans/`, `briefs/`, `forecasts/`, `pipeline-reports/`, `analyses/`, `scores/`, `crm-reports/`, `tasks/`, `onboardings/`, `expansion/`.

- `outputs.json` at the root indexes every artifact with `{id, type, title, summary, path, status, createdAt, updatedAt, domain}`. Atomic writes: temp file + rename. Read-merge-write, never overwrite.

- Every record carries `id` (uuid v4), `createdAt`, `updatedAt`.

## What I never do

- Send, publish or commit CRM stage changes without your approval.

- Make pricing promises outside the playbook range.

- Invent customer quotes, call facts, competitor moves or pipeline numbers · if the source is weak, I mark it TBD and ask.

- Guess your ideal customer, qualification framework or pricing · I read the playbook or ask you to run `set-up-my-sales-info` first.

- Use guilt, false scarcity or dark patterns in churn-save, renewal or expansion drafts.

- Write to `.houston/<agent-path>/` at runtime.

- Hardcode tool names in skills · Composio discovery at runtime, always.
Don't copy it all at once

This agent has months of use behind it. For yours, start with Role, How I talk to you and What I never do. The skills show up on their own as you work with it.

Talk to the team

Not sure where to start in your company?

In 30 minutes we look at the process costing you the most time and tell you whether it's a good case for an agent and how we'd build it. If it isn't, we tell you that too.

Book a call
For companies

houston for your team

You got here with one agent and one case. This section is for when you want your whole operation to work like that.

What you just did

One agent, one case, your laptop

A process that used to take you hours now runs on its own. You built it yourself, in an afternoon, without coding.

What we do with teams

One agent per role, with your way of working inside

Sales, support, content, back office. With your company's skills, connected to your tools and running on their own when they should.

What working with us includes

We don't sell licenses and leave you alone. The value isn't in the software, it's in the agents ending up with your operation inside them.

Week 1

Process diagnosis

We sit down with your team, look at where the time goes and pick the two or three processes actually worth it. Starting with the wrong process is the most expensive way to try this.

What you get

Agents built on your operation

No generic templates: instructions, skills and memory carrying the way your company works, connected to the tools your team already uses.

With your people

Team training

The people who'll use them learn to give them work, correct them and turn that correction into a skill. Without this, any agent dies in two weeks.

After

Support while it beds in

The first months are about adjusting. We stay until the agent is producing results your team actually uses, not a pretty demo.

Who it's for, and who it isn't

We'd rather say it before the call.

It's for you if

  • You already know which process is costing you hours every week.
  • You have volume: sales, support, content, quotes, back office.
  • You want this running in weeks, not a six-month pilot.
  • Someone on the team is willing to own the agent. They don't have to be technical.

It's not for you if

  • You're looking for a chatbot to answer questions on your website.
  • The process doesn't exist yet: first you define it, then you automate it.
  • You want the agent writing to customers with nobody reviewing.
  • You expect savings without changing anything about how the team works.

How it starts

  1. A 30 minute call. You tell us the process costing you the most time.
  2. We tell you straight whether it's a good case for an agent, how we'd build it and what we'd need from your side.
  3. If it makes sense for both of us, we build the kickoff plan with your team. If not, you still keep everything in this guide.

Want this running in your company?

Book the call and we'll look at your specific case. And if for now you'd rather explore on your own, join the beta program: houston is still in beta, you get into the early access batches, and what you tell us goes straight into what we build.

calendly.com/gethouston/30min · forms.gle/dysscJx284wMqBX46
And if you'd rather keep going alone, perfect

Everything in this guide works without talking to anyone. The agent you installed is yours and keeps working the same. This section is for when the problem stops being yours and becomes the whole team's.

When something breaks

Troubleshooting

All of this actually happened, live, with more than 500 people at once. If it happens to you, it isn't you.

?Windows says the app is from an unknown publisher
It's normal and it isn't a virus: the signing certificate is recent. Click More info and then Run anyway. It only happens the first time.
?I downloaded houston on Mac but it isn't in Applications
When you open the downloaded file a window appears with the houston icon and a folder. You have to drag the icon into the Applications folder. If it asks, choose replace.
?I cannot start the download
Complete every field in the download form. After you continue, choose the version for your computer.
?I got stuck in the welcome tour
This happens when you didn't grant all the permissions and the tour asks for an action the agent can't do. Go to Integrations, find the half-connected integration, click Disconnect and connect it again accepting all permissions. Recent versions also offer an option to skip the tour.
?The agent asks me for an Apify API token
The most common mistake of all. You connected plain Apify instead of Apify MCP. Disconnect it and connect the one that says MCP, which only asks you to sign in. You can also just write to it: "switch the Apify API for the MCP one".
?The Apify coupon won't apply because I already had an account
Apply it from inside: BillingSubscriptionAdd promo code and paste HOUSTON_ROCKET.
?The OpenRouter code doesn't work or says I hit the limit
Two things. First: the code doesn't go on the payment screen, it goes under Credits or at openrouter.ai/redeem. Second: promo codes have limited spots and can run out. If it no longer applies, OpenRouter still works by topping up your balance, or you can use your ChatGPT or Claude account directly.
?I redeemed the OpenRouter credits but houston shows zero
houston counts purchased credits, not promotional ones. The balance is there: check it on OpenRouter's Credits screen. The models work the same.
?I can't see the Agent Store
You have an old version of the app. Go back to gethouston.ai, download the latest version and install it over the old one.
?The agent doesn't answer or says it has no model
It has no engine. Go to AI Models in the left panel and connect at least one provider: Anthropic or OpenAI with your subscription (login only), or OpenRouter with an API key.
?Apollo won't let me create the API key
It tells you you don't have admin permissions. In Apollo go to SettingsUsers & Teams, edit your profile and make yourself an admin of the workspace. Then go back to IntegrationsAPI Keys.
?The LinkedIn extraction returns nobody
It's almost always the post: too few comments, private, or the link came out incomplete. Try another post with plenty of comments and copy the full link to the post, not to the profile.
?I asked for something and it took forever or froze
Tasks that go out to the internet take several minutes, that's normal. If it really is stuck, ask it to try again or to split the task into smaller batches.
?A Google integration rejects the action over permissions
Go to Integrations, find the failing one, click Disconnect and connect it again accepting every permission it asks for.
?WhatsApp Business won't connect
It's the trickiest integration, and that's on Meta, not houston. You need a Meta Business account, the verified number and your WhatsApp Business account identifier (WABA ID). Ask your agent to walk you through it step by step for your case.
?I have accounts with different emails in each tool
Not a problem: your houston account is only for signing in, and each integration connects with whatever account you want, even several at once. What is worth doing is separating workspaces, one personal and one for the company, so the agent doesn't hesitate about which account to use.
?I want my team to use the same agent
The personal space is for one person. Create a team workspace, and from SettingsAdministrationPeople invite your colleagues. Everyone lands on the same board and can pick up each other's missions.
?I don't know how to do something inside houston
Ask the agent, in plain language: "I have no idea what an API key is, where do I find it?" or "walk me step by step through connecting this tool". It's built to guide you, not the other way around.
?I copied an API key wrong and now I can't see it
Almost every tool shows the key once and only once, for security. Don't go looking: create a new key and paste it into houston.
?I switched accounts in a tool but houston still uses the old one
The previous connection is stored at the integrations provider. Go to composio.dev with the same email you used to connect your apps, find the app in your connections, delete the old one and connect it again from houston.
?Halfway through a mission it says Google Sheets isn't connected
Go to Integrations, look for Google Sheets (the exact one), connect it with your Google account and go back to the mission. Then write: "Google Sheets is connected now, continue." No need to start over.
?It says "LinkedIn is blocking Apify" or something similar
Don't take it at face value: sometimes the agent gets the diagnosis wrong. Write to it: "please verify what you're telling me, or tell me if you're having a different problem." In the live session the real cause was something else, and it found it itself once it checked.
?It found very few emails
That's expected: normal coverage is between 50 and 70 percent, and in Latin America it's usually less. In one session, 42 commenters produced 24 emails. These are databases and people change jobs: an empty cell isn't a failure. Also, every search burns credits, so don't re-run the missing ones without a reason.
?I'm about to update houston and I'm afraid of losing everything
Relax. Your agents, skills and memories live in your account, not inside the installer. You can uninstall and reinstall: when you sign in, it's all still there.
?I lost track of which step I was on
Use the success checklist. Tick what you've already done and continue from the first unticked item. And if you're truly stuck, write in the bootcamp WhatsApp group: we're there.
Before you close

Your success checklist

If you can tick all of this, you're done.

Recap of everything covered in the bootcamp
Slide 38You came in not knowing what an agent was. You leave with one working and with the method to build the next one.

And if you want it for your whole team

You already know how to build one. When the process stops being yours and becomes the whole team's, we set it up with you: diagnosis, agents with your operation inside them, and training for the people who'll use them. It's all in houston for your team.

Stuck?

Don't stay there. Write in the WhatsApp group or email me at [email protected] and we'll get you moving. Nothing that happens to you is strange: everything in this guide happened to us first, live, with 500 people watching.

And remember the one next step: this week, one boring task, one agent.