How to Build an AI-Native Company on Telegram
Most companies add AI to existing workflows. An AI-native company starts the other way around: the AI agents ARE the company, and humans steer them through messaging. In this tutorial you will build exactly that - a multi-agent company that lives entirely on Telegram, where each agent is a department you can message to get work done.
By the end, you will have four specialized Telegram bots that share a common workspace, delegate work to each other, and restrict access to authorized users only. No dashboards, no web apps - just Telegram conversations that run your business.
What You'll Build
A Telegram-native company with four departments:
| Department | Bot | Responsibilities |
|---|---|---|
| Executive Office | Executive Assistant | Scheduling, priorities, daily briefings, delegation to other departments |
| Operations | Operations Bot | Shell scripts, file management, infrastructure tasks, data processing |
| Research | Research Analyst | Market research, competitor monitoring, report writing |
| Customer Relations | Customer Liaison | Outreach drafts, follow-up scheduling, CRM notes |
Each department is a separate Telegram bot. They share a workspace (Space) for handing off artifacts, and the Executive Assistant can delegate tasks to any department using background task management.
Prerequisites
- A ChatBotKit account
- A Telegram account
- Four Telegram bot tokens from @BotFather (one per department)
- Approximately 45-60 minutes
Tip: Create all four bots in BotFather before starting. Name them something like
MyCoExecBot,MyCoOpsBot,MyCoResearchBot, andMyCoOutreachBot. Save each token - you will need them in the final step.
Step 1: Create the Blueprint with the Executive Assistant
Start with a single bot - the Executive Assistant. This will be the central coordinator that you interact with most often.
- Navigate to Blueprints in your ChatBotKit dashboard.
- Click Create and select Blueprint.
- Name it "AI Company".
- Click Design to open the Blueprint Designer.
Add a Bot, a Skillset, and a Space to the canvas. Configure them as shown:
resources:
'#bot:::qhnhhc27fck':
type: bot
data:
name: Executive Assistant
description: |
Central coordinator for the AI-native company. Handles scheduling,
priorities, delegation, and daily briefings via Telegram.
backstory: |-
You are the Executive Assistant for an AI-native company that
operates entirely through Telegram. You are the primary point of
contact for the founder.
## YOUR ROLE
- Manage the founder's priorities and schedule
- Delegate work to other department bots when appropriate
- Provide daily briefings and status updates
- Keep the shared workspace organized
## WORKSPACE
You have access to a shared company workspace. Use it to:
- Maintain a running priorities file at /priorities.md
- Store daily briefings at /briefings/YYYY-MM-DD.md
- Read outputs from other departments
## DELEGATION
When a request falls outside your expertise, create a background
task for the appropriate department:
- Operations Bot: infrastructure, scripts, data processing
- Research Analyst: market research, competitor analysis, reports
- Customer Liaison: outreach, follow-ups, CRM updates
## RULES
- Always confirm before delegating to another department
- Keep the founder informed about task progress
- Write concise, actionable briefings
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::3as6l4alt2o'
privacy: false
moderation: false
visibility: private
meta: null
'#skillset:::3as6l4alt2o':
type: skillset
data:
name: Executive Toolkit
description: Scheduling, delegation, and workspace access for the Executive Assistant
visibility: private
meta: null
'#space:::7i7nkb4k2rc':
type: space
data:
name: Company Workspace
description: |
Shared workspace for all company departments. Store priorities,
briefings, research reports, outreach drafts, and operational
artifacts here.
visibility: private
meta: null
'#ability:::1vf7491icm':
type: ability
data:
skillsetId: '#skillset:::3as6l4alt2o'
linkedSpaceId: '#space:::7i7nkb4k2rc'
name: Read Workspace
description: Read files from the shared company workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::b10glth3fck':
type: ability
data:
skillsetId: '#skillset:::3as6l4alt2o'
linkedSpaceId: '#space:::7i7nkb4k2rc'
name: Write Workspace
description: Write files to the shared company workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
positions:
'#bot:::qhnhhc27fck':
x: 0
'y': 165
'#skillset:::3as6l4alt2o':
x: 250
'y': 165
'#space:::7i7nkb4k2rc':
x: 525
'y': 360
'#ability:::1vf7491icm':
x: 450
'y': 0
'#ability:::b10glth3fck':
x: 450
'y': 180
notes: {}
images: {}
frames: {}
tools: {}
At this point you have a single bot with workspace access. Test it in the Agent Console by asking it to create a priorities file - it should write to the shared Space.
Step 2: Add the Operations Bot
The Operations Bot handles infrastructure work - running shell commands, processing data files, and executing scripts. It gets its own skillset with shell execution abilities.
Add a second Bot and Skillset to the canvas:
resources:
'#bot:::lv08dkaihoc':
type: bot
data:
name: Executive Assistant
description: |
Central coordinator for the AI-native company. Handles scheduling,
priorities, delegation, and daily briefings via Telegram.
backstory: |-
You are the Executive Assistant for an AI-native company that
operates entirely through Telegram. You are the primary point of
contact for the founder.
## YOUR ROLE
- Manage the founder's priorities and schedule
- Delegate work to other department bots when appropriate
- Provide daily briefings and status updates
- Keep the shared workspace organized
## WORKSPACE
You have access to a shared company workspace. Use it to:
- Maintain a running priorities file at /priorities.md
- Store daily briefings at /briefings/YYYY-MM-DD.md
- Read outputs from other departments
## DELEGATION
When a request falls outside your expertise, create a background
task for the appropriate department:
- Operations Bot: infrastructure, scripts, data processing
- Research Analyst: market research, competitor analysis, reports
- Customer Liaison: outreach, follow-ups, CRM updates
## RULES
- Always confirm before delegating to another department
- Keep the founder informed about task progress
- Write concise, actionable briefings
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::7d5aauv61vg'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::34cvg4fk7t4':
type: bot
data:
name: Operations Bot
description: |
Handles shell execution, data processing, file management, and
infrastructure tasks in an isolated sandbox environment.
backstory: |-
You are the Operations Bot for an AI-native company. You handle
all infrastructure, scripting, and data processing tasks.
## YOUR ROLE
- Execute shell commands and scripts in a secure sandbox
- Process and transform data files (CSV, JSON, text)
- Manage files in the shared company workspace
- Produce clean outputs that other departments can consume
## WORKSPACE
You share a workspace with other departments. Organize your
outputs cleanly:
- /ops/scripts/ for reusable scripts
- /ops/outputs/ for processed data
- /ops/logs/ for execution logs
## RULES
- Always log what you executed and the result
- Write outputs to the workspace so other bots can read them
- If a task is ambiguous, write your interpretation to the
workspace before executing
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::fkppqlfpmn4'
privacy: false
moderation: false
visibility: private
meta: null
'#skillset:::7d5aauv61vg':
type: skillset
data:
name: Executive Toolkit
description: Scheduling, delegation, and workspace access for the Executive Assistant
visibility: private
meta: null
'#skillset:::fkppqlfpmn4':
type: skillset
data:
name: Operations Toolkit
description: Shell execution, file management, and data processing tools
visibility: private
meta: null
'#space:::v0lsl53u3ig':
type: space
data:
name: Company Workspace
description: |
Shared workspace for all company departments. Store priorities,
briefings, research reports, outreach drafts, and operational
artifacts here.
visibility: private
meta: null
'#ability:::m78p3cpe7fg':
type: ability
data:
skillsetId: '#skillset:::7d5aauv61vg'
linkedSpaceId: '#space:::v0lsl53u3ig'
name: Read Workspace
description: Read files from the shared company workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::6bmte3lfgj8':
type: ability
data:
skillsetId: '#skillset:::7d5aauv61vg'
linkedSpaceId: '#space:::v0lsl53u3ig'
name: Write Workspace
description: Write files to the shared company workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::evvfs3i2638':
type: ability
data:
skillsetId: '#skillset:::fkppqlfpmn4'
linkedSpaceId: '#space:::v0lsl53u3ig'
name: Execute Command
description: Run shell commands in the sandbox environment
instruction: |-
template: shell/exec
parameters: {}
meta: null
'#ability:::ji1q6s87kmo':
type: ability
data:
skillsetId: '#skillset:::fkppqlfpmn4'
linkedSpaceId: '#space:::v0lsl53u3ig'
name: Read File
description: Read files from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::9t348djtjek':
type: ability
data:
skillsetId: '#skillset:::fkppqlfpmn4'
linkedSpaceId: '#space:::v0lsl53u3ig'
name: Write File
description: Write files to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
positions:
'#bot:::lv08dkaihoc':
x: 0
'y': 165
'#bot:::34cvg4fk7t4':
x: 0
'y': 585
'#skillset:::7d5aauv61vg':
x: 250
'y': 165
'#skillset:::fkppqlfpmn4':
x: 250
'y': 585
'#space:::v0lsl53u3ig':
x: 825
'y': 375
'#ability:::m78p3cpe7fg':
x: 450
'y': 75
'#ability:::6bmte3lfgj8':
x: 450
'y': 255
'#ability:::evvfs3i2638':
x: 450
'y': 495
'#ability:::ji1q6s87kmo':
x: 450
'y': 675
'#ability:::9t348djtjek':
x: 450
'y': 855
notes: {}
images: {}
frames: {}
tools: {}
Notice both bots share the same Space (#space:::company-workspace). This is what makes cross-department handoffs possible - the Executive Assistant can write a task brief to /ops/tasks/, and the Operations Bot can pick it up and write results back.
Step 3: Add the Research Analyst
The Research Analyst handles information gathering, competitive analysis, and report writing. It gets web fetching abilities in addition to workspace access.
Add a third bot with its own skillset:
resources:
'#bot:::308e4fdb2n4':
type: bot
data:
name: Executive Assistant
description: |
Central coordinator for the AI-native company. Handles scheduling,
priorities, delegation, and daily briefings via Telegram.
backstory: |-
You are the Executive Assistant for an AI-native company that
operates entirely through Telegram. You are the primary point of
contact for the founder.
## YOUR ROLE
- Manage the founder's priorities and schedule
- Delegate work to other department bots when appropriate
- Provide daily briefings and status updates
- Keep the shared workspace organized
## WORKSPACE
You have access to a shared company workspace. Use it to:
- Maintain a running priorities file at /priorities.md
- Store daily briefings at /briefings/YYYY-MM-DD.md
- Read outputs from other departments
## DELEGATION
When a request falls outside your expertise, create a background
task for the appropriate department:
- Operations Bot: infrastructure, scripts, data processing
- Research Analyst: market research, competitor analysis, reports
- Customer Liaison: outreach, follow-ups, CRM updates
## RULES
- Always confirm before delegating to another department
- Keep the founder informed about task progress
- Write concise, actionable briefings
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::qujg2v6in14'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::0ca7gedn2ek':
type: bot
data:
name: Operations Bot
description: |
Handles shell execution, data processing, file management, and
infrastructure tasks in an isolated sandbox environment.
backstory: |-
You are the Operations Bot for an AI-native company. You handle
all infrastructure, scripting, and data processing tasks.
## YOUR ROLE
- Execute shell commands and scripts in a secure sandbox
- Process and transform data files (CSV, JSON, text)
- Manage files in the shared company workspace
- Produce clean outputs that other departments can consume
## WORKSPACE
You share a workspace with other departments. Organize your
outputs cleanly:
- /ops/scripts/ for reusable scripts
- /ops/outputs/ for processed data
- /ops/logs/ for execution logs
## RULES
- Always log what you executed and the result
- Write outputs to the workspace so other bots can read them
- If a task is ambiguous, write your interpretation to the
workspace before executing
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::6c8ec8pjnuo'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::ilh916rm98':
type: bot
data:
name: Research Analyst
description: |
Gathers information, analyzes competitors, produces structured
research reports, and writes findings to the shared workspace.
backstory: |-
You are the Research Analyst for an AI-native company. You handle
all information gathering, competitive analysis, and report
writing.
## YOUR ROLE
- Research markets, competitors, and trends
- Fetch and summarize web pages and articles
- Produce structured reports with sources
- Write findings to the shared workspace for other departments
## WORKSPACE
Organize your outputs:
- /research/reports/ for finished reports
- /research/notes/ for raw notes and drafts
- /research/competitors/ for competitive intelligence
## REPORT FORMAT
Always structure reports with:
1. Executive summary (3-5 sentences)
2. Key findings (bulleted list)
3. Supporting details
4. Sources
5. Recommended actions
## RULES
- Cite sources for every claim
- Distinguish between facts and speculation
- Write reports that a non-expert can understand
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::bu0qjpbcrek'
privacy: false
moderation: false
visibility: private
meta: null
'#skillset:::qujg2v6in14':
type: skillset
data:
name: Executive Toolkit
description: Scheduling, delegation, and workspace access for the Executive Assistant
visibility: private
meta: null
'#skillset:::6c8ec8pjnuo':
type: skillset
data:
name: Operations Toolkit
description: Shell execution, file management, and data processing tools
visibility: private
meta: null
'#skillset:::bu0qjpbcrek':
type: skillset
data:
name: Research Toolkit
description: Web fetching, workspace access, and report writing tools
visibility: private
meta: null
'#space:::locadv5gfng':
type: space
data:
name: Company Workspace
description: |
Shared workspace for all company departments. Store priorities,
briefings, research reports, outreach drafts, and operational
artifacts here.
visibility: private
meta: null
'#ability:::hmo291fe494':
type: ability
data:
skillsetId: '#skillset:::qujg2v6in14'
linkedSpaceId: '#space:::locadv5gfng'
name: Read Workspace
description: Read files from the shared company workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::khqr4ve40i':
type: ability
data:
skillsetId: '#skillset:::qujg2v6in14'
linkedSpaceId: '#space:::locadv5gfng'
name: Write Workspace
description: Write files to the shared company workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::46jkjme4d6c':
type: ability
data:
skillsetId: '#skillset:::6c8ec8pjnuo'
linkedSpaceId: '#space:::locadv5gfng'
name: Execute Command
description: Run shell commands in the sandbox environment
instruction: |-
template: shell/exec
parameters: {}
meta: null
'#ability:::datp5aochac':
type: ability
data:
skillsetId: '#skillset:::6c8ec8pjnuo'
linkedSpaceId: '#space:::locadv5gfng'
name: Read File
description: Read files from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::oiame2nuj5s':
type: ability
data:
skillsetId: '#skillset:::6c8ec8pjnuo'
linkedSpaceId: '#space:::locadv5gfng'
name: Write File
description: Write files to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::vp70pi6h2q8':
type: ability
data:
skillsetId: '#skillset:::bu0qjpbcrek'
name: Fetch Web Page
description: Fetch and extract content from a web page for research
instruction: |-
template: fetch/structured
parameters: {}
meta: null
'#ability:::d4geralf3mc':
type: ability
data:
skillsetId: '#skillset:::bu0qjpbcrek'
linkedSpaceId: '#space:::locadv5gfng'
name: Read Workspace
description: Read research notes and reports from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::s7kr1rhbf0c':
type: ability
data:
skillsetId: '#skillset:::bu0qjpbcrek'
linkedSpaceId: '#space:::locadv5gfng'
name: Write Workspace
description: Write research reports and notes to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
positions:
'#bot:::308e4fdb2n4':
x: 0
'y': 165
'#bot:::0ca7gedn2ek':
x: 0
'y': 585
'#bot:::ilh916rm98':
x: 0
'y': 1095
'#skillset:::qujg2v6in14':
x: 250
'y': 165
'#skillset:::6c8ec8pjnuo':
x: 250
'y': 585
'#skillset:::bu0qjpbcrek':
x: 250
'y': 1095
'#space:::locadv5gfng':
x: 810
'y': 615
'#ability:::hmo291fe494':
x: 450
'y': 75
'#ability:::khqr4ve40i':
x: 450
'y': 255
'#ability:::46jkjme4d6c':
x: 450
'y': 495
'#ability:::datp5aochac':
x: 450
'y': 675
'#ability:::oiame2nuj5s':
x: 450
'y': 855
'#ability:::vp70pi6h2q8':
x: 450
'y': 1005
'#ability:::d4geralf3mc':
x: 450
'y': 1185
'#ability:::s7kr1rhbf0c':
x: 450
'y': 1365
notes: {}
images: {}
frames: {}
tools: {}
The Research Analyst has a fetch/structured ability that lets it pull content from the web. Combined with workspace write access, it can research a topic and drop a finished report into /research/reports/ where the Executive Assistant or anyone else can read it.
Step 4: Add the Customer Liaison
The Customer Liaison handles outreach drafts, follow-up scheduling, and customer notes. It rounds out the team.
Add a fourth bot:
resources:
'#bot:::k9nq43gu4q8':
type: bot
data:
name: Executive Assistant
description: |
Central coordinator for the AI-native company. Handles scheduling,
priorities, delegation, and daily briefings via Telegram.
backstory: |-
You are the Executive Assistant for an AI-native company that
operates entirely through Telegram. You are the primary point of
contact for the founder.
## YOUR ROLE
- Manage the founder's priorities and schedule
- Delegate work to other department bots when appropriate
- Provide daily briefings and status updates
- Keep the shared workspace organized
## WORKSPACE
You have access to a shared company workspace. Use it to:
- Maintain a running priorities file at /priorities.md
- Store daily briefings at /briefings/YYYY-MM-DD.md
- Read outputs from other departments
## DELEGATION
When a request falls outside your expertise, create a background
task for the appropriate department:
- Operations Bot: infrastructure, scripts, data processing
- Research Analyst: market research, competitor analysis, reports
- Customer Liaison: outreach, follow-ups, CRM updates
## RULES
- Always confirm before delegating to another department
- Keep the founder informed about task progress
- Write concise, actionable briefings
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::d262e4r2a5g'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::1bvvkqolajk':
type: bot
data:
name: Operations Bot
description: |
Handles shell execution, data processing, file management, and
infrastructure tasks in an isolated sandbox environment.
backstory: |-
You are the Operations Bot for an AI-native company. You handle
all infrastructure, scripting, and data processing tasks.
## YOUR ROLE
- Execute shell commands and scripts in a secure sandbox
- Process and transform data files (CSV, JSON, text)
- Manage files in the shared company workspace
- Produce clean outputs that other departments can consume
## WORKSPACE
You share a workspace with other departments. Organize your
outputs cleanly:
- /ops/scripts/ for reusable scripts
- /ops/outputs/ for processed data
- /ops/logs/ for execution logs
## RULES
- Always log what you executed and the result
- Write outputs to the workspace so other bots can read them
- If a task is ambiguous, write your interpretation to the
workspace before executing
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::mlfe221h81c'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::c3suvspc708':
type: bot
data:
name: Research Analyst
description: |
Gathers information, analyzes competitors, produces structured
research reports, and writes findings to the shared workspace.
backstory: |-
You are the Research Analyst for an AI-native company. You handle
all information gathering, competitive analysis, and report
writing.
## YOUR ROLE
- Research markets, competitors, and trends
- Fetch and summarize web pages and articles
- Produce structured reports with sources
- Write findings to the shared workspace for other departments
## WORKSPACE
Organize your outputs:
- /research/reports/ for finished reports
- /research/notes/ for raw notes and drafts
- /research/competitors/ for competitive intelligence
## REPORT FORMAT
Always structure reports with:
1. Executive summary (3-5 sentences)
2. Key findings (bulleted list)
3. Supporting details
4. Sources
5. Recommended actions
## RULES
- Cite sources for every claim
- Distinguish between facts and speculation
- Write reports that a non-expert can understand
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::83cjepvta14'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::5sacikia1ns':
type: bot
data:
name: Customer Liaison
description: |
Manages outreach drafts, follow-up scheduling, customer notes,
and relationship tracking in the shared workspace.
backstory: |-
You are the Customer Liaison for an AI-native company. You handle
all customer-facing communication preparation and relationship
management.
## YOUR ROLE
- Draft outreach emails and messages for the founder to review
- Track customer interactions and follow-up dates
- Maintain a customer relationship log
- Prepare talking points for meetings
## WORKSPACE
Organize your outputs:
- /customers/contacts.md for the master contact list
- /customers/outreach/ for draft messages
- /customers/notes/ for meeting notes and interaction logs
- /customers/follow-ups.md for upcoming follow-up dates
## OUTREACH DRAFT FORMAT
Every draft should include:
1. Recipient name and context
2. Purpose of the message
3. Draft body text
4. Suggested follow-up date
## RULES
- Never send messages directly - always write drafts for review
- Include context about the relationship history
- Flag high-priority follow-ups clearly
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::2bv01r8p33g'
privacy: false
moderation: false
visibility: private
meta: null
'#skillset:::d262e4r2a5g':
type: skillset
data:
name: Executive Toolkit
description: Scheduling, delegation, and workspace access for the Executive Assistant
visibility: private
meta: null
'#skillset:::mlfe221h81c':
type: skillset
data:
name: Operations Toolkit
description: Shell execution, file management, and data processing tools
visibility: private
meta: null
'#skillset:::83cjepvta14':
type: skillset
data:
name: Research Toolkit
description: Web fetching, workspace access, and report writing tools
visibility: private
meta: null
'#skillset:::2bv01r8p33g':
type: skillset
data:
name: Customer Toolkit
description: Workspace access for outreach drafts, contact management, and follow-up tracking
visibility: private
meta: null
'#space:::86d9tn8dcpk':
type: space
data:
name: Company Workspace
description: |
Shared workspace for all company departments. Store priorities,
briefings, research reports, outreach drafts, and operational
artifacts here.
visibility: private
meta: null
'#ability:::1im0an2nfrg':
type: ability
data:
skillsetId: '#skillset:::d262e4r2a5g'
linkedSpaceId: '#space:::86d9tn8dcpk'
name: Read Workspace
description: Read files from the shared company workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::ckbp2f14g0o':
type: ability
data:
skillsetId: '#skillset:::d262e4r2a5g'
linkedSpaceId: '#space:::86d9tn8dcpk'
name: Write Workspace
description: Write files to the shared company workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::dge7op5232g':
type: ability
data:
skillsetId: '#skillset:::mlfe221h81c'
linkedSpaceId: '#space:::86d9tn8dcpk'
name: Execute Command
description: Run shell commands in the sandbox environment
instruction: |-
template: shell/exec
parameters: {}
meta: null
'#ability:::qnlnfkh4s08':
type: ability
data:
skillsetId: '#skillset:::mlfe221h81c'
linkedSpaceId: '#space:::86d9tn8dcpk'
name: Read File
description: Read files from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::kgr6okr5lgg':
type: ability
data:
skillsetId: '#skillset:::mlfe221h81c'
linkedSpaceId: '#space:::86d9tn8dcpk'
name: Write File
description: Write files to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::00umf712lh8':
type: ability
data:
skillsetId: '#skillset:::83cjepvta14'
name: Fetch Web Page
description: Fetch and extract content from a web page for research
instruction: |-
template: fetch/structured
parameters: {}
meta: null
'#ability:::1cb7d7mtb6':
type: ability
data:
skillsetId: '#skillset:::83cjepvta14'
linkedSpaceId: '#space:::86d9tn8dcpk'
name: Read Workspace
description: Read research notes and reports from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::nicv6qrtaa8':
type: ability
data:
skillsetId: '#skillset:::83cjepvta14'
linkedSpaceId: '#space:::86d9tn8dcpk'
name: Write Workspace
description: Write research reports and notes to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::v9tv6sfffvc':
type: ability
data:
skillsetId: '#skillset:::2bv01r8p33g'
linkedSpaceId: '#space:::86d9tn8dcpk'
name: Read Workspace
description: Read customer notes and contact lists from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::gsjbmksm8do':
type: ability
data:
skillsetId: '#skillset:::2bv01r8p33g'
linkedSpaceId: '#space:::86d9tn8dcpk'
name: Write Workspace
description: Write outreach drafts and customer notes to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
positions:
'#bot:::k9nq43gu4q8':
x: 0
'y': 165
'#bot:::1bvvkqolajk':
x: 0
'y': 585
'#bot:::c3suvspc708':
x: 0
'y': 1095
'#bot:::5sacikia1ns':
x: 0
'y': 1605
'#skillset:::d262e4r2a5g':
x: 250
'y': 165
'#skillset:::mlfe221h81c':
x: 250
'y': 585
'#skillset:::83cjepvta14':
x: 250
'y': 1095
'#skillset:::2bv01r8p33g':
x: 250
'y': 1605
'#space:::86d9tn8dcpk':
x: 810
'y': 885
'#ability:::1im0an2nfrg':
x: 450
'y': 75
'#ability:::ckbp2f14g0o':
x: 450
'y': 255
'#ability:::dge7op5232g':
x: 450
'y': 495
'#ability:::qnlnfkh4s08':
x: 450
'y': 675
'#ability:::kgr6okr5lgg':
x: 450
'y': 855
'#ability:::00umf712lh8':
x: 450
'y': 1005
'#ability:::1cb7d7mtb6':
x: 450
'y': 1185
'#ability:::nicv6qrtaa8':
x: 450
'y': 1365
'#ability:::v9tv6sfffvc':
x: 450
'y': 1515
'#ability:::gsjbmksm8do':
x: 450
'y': 1695
notes: {}
images: {}
frames: {}
tools: {}
You now have four department bots, each with their own skillset, all sharing one workspace. The next step is enabling the Executive Assistant to delegate work to the other departments.
Step 5: Enable Cross-Department Delegation
The Executive Assistant needs to create background tasks for other bots. Add task management abilities to the Executive Toolkit so it can dispatch work, check on progress, and report back.
Add these abilities to the Executive Assistant's skillset:
resources:
'#bot:::cltg7tl2cfg':
type: bot
data:
name: Executive Assistant
description: |
Central coordinator for the AI-native company. Handles scheduling,
priorities, delegation, and daily briefings via Telegram.
backstory: |-
You are the Executive Assistant for an AI-native company that
operates entirely through Telegram. You are the primary point of
contact for the founder.
## YOUR ROLE
- Manage the founder's priorities and schedule
- Delegate work to other department bots when appropriate
- Provide daily briefings and status updates
- Keep the shared workspace organized
## WORKSPACE
You have access to a shared company workspace. Use it to:
- Maintain a running priorities file at /priorities.md
- Store daily briefings at /briefings/YYYY-MM-DD.md
- Read outputs from other departments
## DELEGATION
You can delegate work to any department using background tasks:
1. List available department bots with "List Departments"
2. Create a task with "Assign Task" specifying the department bot
3. Check progress with "List Tasks" and "Get Task Details"
4. Cancel or update tasks as needed
Departments available:
- Operations Bot: infrastructure, scripts, data processing
- Research Analyst: market research, competitor analysis, reports
- Customer Liaison: outreach, follow-ups, CRM updates
## RULES
- Always confirm before delegating to another department
- Keep the founder informed about task progress
- Write concise, actionable briefings
- When delegating, include a clear goal and expected output
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::u8dm51ufqh4'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::4namhgvg44c':
type: bot
data:
name: Operations Bot
description: |
Handles shell execution, data processing, file management, and
infrastructure tasks in an isolated sandbox environment.
backstory: |-
You are the Operations Bot for an AI-native company. You handle
all infrastructure, scripting, and data processing tasks.
## YOUR ROLE
- Execute shell commands and scripts in a secure sandbox
- Process and transform data files (CSV, JSON, text)
- Manage files in the shared company workspace
- Produce clean outputs that other departments can consume
## WORKSPACE
You share a workspace with other departments. Organize your
outputs cleanly:
- /ops/scripts/ for reusable scripts
- /ops/outputs/ for processed data
- /ops/logs/ for execution logs
## RULES
- Always log what you executed and the result
- Write outputs to the workspace so other bots can read them
- If a task is ambiguous, write your interpretation to the
workspace before executing
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::15ns7v2rg2'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::hi8vrpsg09s':
type: bot
data:
name: Research Analyst
description: |
Gathers information, analyzes competitors, produces structured
research reports, and writes findings to the shared workspace.
backstory: |-
You are the Research Analyst for an AI-native company. You handle
all information gathering, competitive analysis, and report
writing.
## YOUR ROLE
- Research markets, competitors, and trends
- Fetch and summarize web pages and articles
- Produce structured reports with sources
- Write findings to the shared workspace for other departments
## WORKSPACE
Organize your outputs:
- /research/reports/ for finished reports
- /research/notes/ for raw notes and drafts
- /research/competitors/ for competitive intelligence
## REPORT FORMAT
Always structure reports with:
1. Executive summary (3-5 sentences)
2. Key findings (bulleted list)
3. Supporting details
4. Sources
5. Recommended actions
## RULES
- Cite sources for every claim
- Distinguish between facts and speculation
- Write reports that a non-expert can understand
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::cg786nkb9rg'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::tb2llt1evpc':
type: bot
data:
name: Customer Liaison
description: |
Manages outreach drafts, follow-up scheduling, customer notes,
and relationship tracking in the shared workspace.
backstory: |-
You are the Customer Liaison for an AI-native company. You handle
all customer-facing communication preparation and relationship
management.
## YOUR ROLE
- Draft outreach emails and messages for the founder to review
- Track customer interactions and follow-up dates
- Maintain a customer relationship log
- Prepare talking points for meetings
## WORKSPACE
Organize your outputs:
- /customers/contacts.md for the master contact list
- /customers/outreach/ for draft messages
- /customers/notes/ for meeting notes and interaction logs
- /customers/follow-ups.md for upcoming follow-up dates
## OUTREACH DRAFT FORMAT
Every draft should include:
1. Recipient name and context
2. Purpose of the message
3. Draft body text
4. Suggested follow-up date
## RULES
- Never send messages directly - always write drafts for review
- Include context about the relationship history
- Flag high-priority follow-ups clearly
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::jgkpov99l1g'
privacy: false
moderation: false
visibility: private
meta: null
'#skillset:::u8dm51ufqh4':
type: skillset
data:
name: Executive Toolkit
description: Scheduling, delegation, task management, and workspace access
visibility: private
meta: null
'#skillset:::15ns7v2rg2':
type: skillset
data:
name: Operations Toolkit
description: Shell execution, file management, and data processing tools
visibility: private
meta: null
'#skillset:::cg786nkb9rg':
type: skillset
data:
name: Research Toolkit
description: Web fetching, workspace access, and report writing tools
visibility: private
meta: null
'#skillset:::jgkpov99l1g':
type: skillset
data:
name: Customer Toolkit
description: Workspace access for outreach drafts, contact management, and follow-up tracking
visibility: private
meta: null
'#space:::a8qirqqk26g':
type: space
data:
name: Company Workspace
description: |
Shared workspace for all company departments. Store priorities,
briefings, research reports, outreach drafts, and operational
artifacts here.
visibility: private
meta: null
'#ability:::s2js4om7tg8':
type: ability
data:
skillsetId: '#skillset:::u8dm51ufqh4'
linkedSpaceId: '#space:::a8qirqqk26g'
name: Read Workspace
description: Read files from the shared company workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::cc1okl5u4a8':
type: ability
data:
skillsetId: '#skillset:::u8dm51ufqh4'
linkedSpaceId: '#space:::a8qirqqk26g'
name: Write Workspace
description: Write files to the shared company workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::jpgvedojs74':
type: ability
data:
skillsetId: '#skillset:::u8dm51ufqh4'
name: List Departments
description: List all department bots available in this blueprint
instruction: |-
template: blueprint/resource/list
parameters:
type: bot
meta: null
'#ability:::kgruuc1kkvo':
type: ability
data:
skillsetId: '#skillset:::u8dm51ufqh4'
name: Assign Task
description: Create a background task assigned to a specific department bot
instruction: |-
template: task/create[by-bot-id]
parameters: {}
meta: null
'#ability:::rkel7c2h9t8':
type: ability
data:
skillsetId: '#skillset:::u8dm51ufqh4'
name: List Tasks
description: List background tasks, optionally filtered by department bot
instruction: |-
template: task/list[by-bot-id]
parameters: {}
meta: null
'#ability:::vuvonrdkh6':
type: ability
data:
skillsetId: '#skillset:::u8dm51ufqh4'
name: Get Task Details
description: Fetch the full details and output of a specific task
instruction: |-
template: task/fetch[by-bot-id]
parameters: {}
meta: null
'#ability:::sn7k0ud6mi8':
type: ability
data:
skillsetId: '#skillset:::u8dm51ufqh4'
name: Cancel Task
description: Cancel a background task that is no longer needed
instruction: |-
template: task/delete[by-bot-id]
parameters: {}
meta: null
'#ability:::dd6o2744m2s':
type: ability
data:
skillsetId: '#skillset:::15ns7v2rg2'
linkedSpaceId: '#space:::a8qirqqk26g'
name: Execute Command
description: Run shell commands in the sandbox environment
instruction: |-
template: shell/exec
parameters: {}
meta: null
'#ability:::vh6ae4cteqs':
type: ability
data:
skillsetId: '#skillset:::15ns7v2rg2'
linkedSpaceId: '#space:::a8qirqqk26g'
name: Read File
description: Read files from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::7scd18tgo7c':
type: ability
data:
skillsetId: '#skillset:::15ns7v2rg2'
linkedSpaceId: '#space:::a8qirqqk26g'
name: Write File
description: Write files to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::hklqgtlsnug':
type: ability
data:
skillsetId: '#skillset:::cg786nkb9rg'
name: Fetch Web Page
description: Fetch and extract content from a web page for research
instruction: |-
template: fetch/structured
parameters: {}
meta: null
'#ability:::uaqc92ls5ek':
type: ability
data:
skillsetId: '#skillset:::cg786nkb9rg'
linkedSpaceId: '#space:::a8qirqqk26g'
name: Read Workspace
description: Read research notes and reports from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::1ic56bd1nu4':
type: ability
data:
skillsetId: '#skillset:::cg786nkb9rg'
linkedSpaceId: '#space:::a8qirqqk26g'
name: Write Workspace
description: Write research reports and notes to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::sfc5gqvmb7g':
type: ability
data:
skillsetId: '#skillset:::jgkpov99l1g'
linkedSpaceId: '#space:::a8qirqqk26g'
name: Read Workspace
description: Read customer notes and contact lists from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::v5ii0f2lsuc':
type: ability
data:
skillsetId: '#skillset:::jgkpov99l1g'
linkedSpaceId: '#space:::a8qirqqk26g'
name: Write Workspace
description: Write outreach drafts and customer notes to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
positions:
'#bot:::cltg7tl2cfg':
x: 0
'y': 165
'#bot:::4namhgvg44c':
x: 0
'y': 870
'#bot:::hi8vrpsg09s':
x: 0
'y': 1470
'#bot:::tb2llt1evpc':
x: 0
'y': 2070
'#skillset:::u8dm51ufqh4':
x: 250
'y': 165
'#skillset:::15ns7v2rg2':
x: 250
'y': 870
'#skillset:::cg786nkb9rg':
x: 250
'y': 1470
'#skillset:::jgkpov99l1g':
x: 250
'y': 2070
'#space:::a8qirqqk26g':
x: 810
'y': 1140
'#ability:::s2js4om7tg8':
x: 450
'y': 0
'#ability:::cc1okl5u4a8':
x: 450
'y': 180
'#ability:::jpgvedojs74':
x: 450
'y': 360
'#ability:::kgruuc1kkvo':
x: 450
'y': 540
'#ability:::rkel7c2h9t8':
x: 810
'y': 0
'#ability:::vuvonrdkh6':
x: 810
'y': 180
'#ability:::sn7k0ud6mi8':
x: 810
'y': 360
'#ability:::dd6o2744m2s':
x: 450
'y': 780
'#ability:::vh6ae4cteqs':
x: 450
'y': 960
'#ability:::7scd18tgo7c':
x: 450
'y': 1140
'#ability:::hklqgtlsnug':
x: 450
'y': 1380
'#ability:::uaqc92ls5ek':
x: 450
'y': 1560
'#ability:::1ic56bd1nu4':
x: 450
'y': 1740
'#ability:::sfc5gqvmb7g':
x: 450
'y': 1980
'#ability:::v5ii0f2lsuc':
x: 450
'y': 2160
notes: {}
images: {}
frames: {}
tools: {}
The Executive Assistant now has five new abilities:
- List Departments - discovers available department bots in the blueprint
- Assign Task - creates a background task assigned to a specific bot
- List Tasks - checks the status of outstanding work
- Get Task Details - fetches the full output of a completed task
- Cancel Task - removes a task that is no longer needed
When you tell the Executive Assistant "Ask the Research Analyst to write a report on competitor pricing", it will create a background task for the Research Bot. The Research Bot processes the task independently, writes results to the workspace, and the Executive Assistant can check on progress later.
Step 6: Connect Everything to Telegram
Now wire each department bot to its own Telegram bot. This is what makes the company accessible from your phone.
Add four Telegram integrations to the blueprint:
resources:
'#bot:::15vbisngdrg':
type: bot
data:
name: Executive Assistant
description: |
Central coordinator for the AI-native company. Handles scheduling,
priorities, delegation, and daily briefings via Telegram.
backstory: |-
You are the Executive Assistant for an AI-native company that
operates entirely through Telegram. You are the primary point of
contact for the founder.
## YOUR ROLE
- Manage the founder's priorities and schedule
- Delegate work to other department bots when appropriate
- Provide daily briefings and status updates
- Keep the shared workspace organized
## WORKSPACE
You have access to a shared company workspace. Use it to:
- Maintain a running priorities file at /priorities.md
- Store daily briefings at /briefings/YYYY-MM-DD.md
- Read outputs from other departments
## DELEGATION
You can delegate work to any department using background tasks:
1. List available department bots with "List Departments"
2. Create a task with "Assign Task" specifying the department bot
3. Check progress with "List Tasks" and "Get Task Details"
4. Cancel or update tasks as needed
Departments available:
- Operations Bot: infrastructure, scripts, data processing
- Research Analyst: market research, competitor analysis, reports
- Customer Liaison: outreach, follow-ups, CRM updates
## RULES
- Always confirm before delegating to another department
- Keep the founder informed about task progress
- Write concise, actionable briefings
- When delegating, include a clear goal and expected output
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::uf15tajbgmc'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::dddr7376sk4':
type: bot
data:
name: Operations Bot
description: |
Handles shell execution, data processing, file management, and
infrastructure tasks in an isolated sandbox environment.
backstory: |-
You are the Operations Bot for an AI-native company. You handle
all infrastructure, scripting, and data processing tasks.
## YOUR ROLE
- Execute shell commands and scripts in a secure sandbox
- Process and transform data files (CSV, JSON, text)
- Manage files in the shared company workspace
- Produce clean outputs that other departments can consume
## WORKSPACE
You share a workspace with other departments. Organize your
outputs cleanly:
- /ops/scripts/ for reusable scripts
- /ops/outputs/ for processed data
- /ops/logs/ for execution logs
## RULES
- Always log what you executed and the result
- Write outputs to the workspace so other bots can read them
- If a task is ambiguous, write your interpretation to the
workspace before executing
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::btsfg5th758'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::aoa48psevts':
type: bot
data:
name: Research Analyst
description: |
Gathers information, analyzes competitors, produces structured
research reports, and writes findings to the shared workspace.
backstory: |-
You are the Research Analyst for an AI-native company. You handle
all information gathering, competitive analysis, and report
writing.
## YOUR ROLE
- Research markets, competitors, and trends
- Fetch and summarize web pages and articles
- Produce structured reports with sources
- Write findings to the shared workspace for other departments
## WORKSPACE
Organize your outputs:
- /research/reports/ for finished reports
- /research/notes/ for raw notes and drafts
- /research/competitors/ for competitive intelligence
## REPORT FORMAT
Always structure reports with:
1. Executive summary (3-5 sentences)
2. Key findings (bulleted list)
3. Supporting details
4. Sources
5. Recommended actions
## RULES
- Cite sources for every claim
- Distinguish between facts and speculation
- Write reports that a non-expert can understand
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::v1hjmpl3grs'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::k3o87eleues':
type: bot
data:
name: Customer Liaison
description: |
Manages outreach drafts, follow-up scheduling, customer notes,
and relationship tracking in the shared workspace.
backstory: |-
You are the Customer Liaison for an AI-native company. You handle
all customer-facing communication preparation and relationship
management.
## YOUR ROLE
- Draft outreach emails and messages for the founder to review
- Track customer interactions and follow-up dates
- Maintain a customer relationship log
- Prepare talking points for meetings
## WORKSPACE
Organize your outputs:
- /customers/contacts.md for the master contact list
- /customers/outreach/ for draft messages
- /customers/notes/ for meeting notes and interaction logs
- /customers/follow-ups.md for upcoming follow-up dates
## OUTREACH DRAFT FORMAT
Every draft should include:
1. Recipient name and context
2. Purpose of the message
3. Draft body text
4. Suggested follow-up date
## RULES
- Never send messages directly - always write drafts for review
- Include context about the relationship history
- Flag high-priority follow-ups clearly
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::g9k2kann11o'
privacy: false
moderation: false
visibility: private
meta: null
'#skillset:::uf15tajbgmc':
type: skillset
data:
name: Executive Toolkit
description: Scheduling, delegation, task management, and workspace access
visibility: private
meta: null
'#skillset:::btsfg5th758':
type: skillset
data:
name: Operations Toolkit
description: Shell execution, file management, and data processing tools
visibility: private
meta: null
'#skillset:::v1hjmpl3grs':
type: skillset
data:
name: Research Toolkit
description: Web fetching, workspace access, and report writing tools
visibility: private
meta: null
'#skillset:::g9k2kann11o':
type: skillset
data:
name: Customer Toolkit
description: Workspace access for outreach drafts, contact management, and follow-up tracking
visibility: private
meta: null
'#space:::3nnvi9u9c7':
type: space
data:
name: Company Workspace
description: |
Shared workspace for all company departments. Store priorities,
briefings, research reports, outreach drafts, and operational
artifacts here.
visibility: private
meta: null
'#ability:::n50v0f3jbt8':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Read Workspace
description: Read files from the shared company workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::o97u2jgap0o':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Write Workspace
description: Write files to the shared company workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::plucf27cn9':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
name: List Departments
description: List all department bots available in this blueprint
instruction: |-
template: blueprint/resource/list
parameters:
type: bot
meta: null
'#ability:::r3l9p93mano':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
name: Assign Task
description: Create a background task assigned to a specific department bot
instruction: |-
template: task/create[by-bot-id]
parameters: {}
meta: null
'#ability:::ktr08a0fhc4':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
name: List Tasks
description: List background tasks, optionally filtered by department bot
instruction: |-
template: task/list[by-bot-id]
parameters: {}
meta: null
'#ability:::mia0vcueg1k':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
name: Get Task Details
description: Fetch the full details and output of a specific task
instruction: |-
template: task/fetch[by-bot-id]
parameters: {}
meta: null
'#ability:::b76at6kidk':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
name: Cancel Task
description: Cancel a background task that is no longer needed
instruction: |-
template: task/delete[by-bot-id]
parameters: {}
meta: null
'#ability:::rjfcosb404g':
type: ability
data:
skillsetId: '#skillset:::btsfg5th758'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Execute Command
description: Run shell commands in the sandbox environment
instruction: |-
template: shell/exec
parameters: {}
meta: null
'#ability:::elerf9minrc':
type: ability
data:
skillsetId: '#skillset:::btsfg5th758'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Read File
description: Read files from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::vi6cem2irbc':
type: ability
data:
skillsetId: '#skillset:::btsfg5th758'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Write File
description: Write files to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::3s5ipk5onfk':
type: ability
data:
skillsetId: '#skillset:::v1hjmpl3grs'
name: Fetch Web Page
description: Fetch and extract content from a web page for research
instruction: |-
template: fetch/structured
parameters: {}
meta: null
'#ability:::lqqrtoql9qo':
type: ability
data:
skillsetId: '#skillset:::v1hjmpl3grs'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Read Workspace
description: Read research notes and reports from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::ddsi9i9adco':
type: ability
data:
skillsetId: '#skillset:::v1hjmpl3grs'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Write Workspace
description: Write research reports and notes to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::fpc8evlhvs8':
type: ability
data:
skillsetId: '#skillset:::g9k2kann11o'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Read Workspace
description: Read customer notes and contact lists from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::j1ar1r7l068':
type: ability
data:
skillsetId: '#skillset:::g9k2kann11o'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Write Workspace
description: Write outreach drafts and customer notes to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#telegramIntegration:::uriknhugbp4':
type: telegramIntegration
data:
name: Executive Assistant (Telegram)
description: Access the Executive Assistant from Telegram
botId: '#bot:::15vbisngdrg'
botToken: ''
allowFrom: |-
@123456789
@987654321
contactCollection: false
sessionDuration: 0
attachments: true
'#telegramIntegration:::prc8po41o7s':
type: telegramIntegration
data:
name: Operations Bot (Telegram)
description: Access the Operations Bot from Telegram
botId: '#bot:::dddr7376sk4'
botToken: ''
allowFrom: |-
@123456789
@987654321
contactCollection: false
sessionDuration: 0
attachments: true
'#telegramIntegration:::hb5mal9fpt8':
type: telegramIntegration
data:
name: Research Analyst (Telegram)
description: Access the Research Analyst from Telegram
botId: '#bot:::aoa48psevts'
botToken: ''
allowFrom: |-
@123456789
@987654321
contactCollection: false
sessionDuration: 0
attachments: true
'#telegramIntegration:::20p4va42n4o':
type: telegramIntegration
data:
name: Customer Liaison (Telegram)
description: Access the Customer Liaison from Telegram
botId: '#bot:::k3o87eleues'
botToken: ''
allowFrom: |-
@123456789
@987654321
contactCollection: false
sessionDuration: 0
attachments: true
positions:
'#bot:::15vbisngdrg':
x: 195
'y': 165
'#bot:::dddr7376sk4':
x: 195
'y': 870
'#bot:::aoa48psevts':
x: 195
'y': 1470
'#bot:::k3o87eleues':
x: 195
'y': 2070
'#skillset:::uf15tajbgmc':
x: 450
'y': 165
'#skillset:::btsfg5th758':
x: 450
'y': 870
'#skillset:::v1hjmpl3grs':
x: 450
'y': 1470
'#skillset:::g9k2kann11o':
x: 450
'y': 2070
'#space:::3nnvi9u9c7':
x: 1020
'y': 1140
'#ability:::n50v0f3jbt8':
x: 660
'y': 0
'#ability:::o97u2jgap0o':
x: 660
'y': 180
'#ability:::plucf27cn9':
x: 660
'y': 360
'#ability:::r3l9p93mano':
x: 660
'y': 540
'#ability:::ktr08a0fhc4':
x: 1020
'y': 0
'#ability:::mia0vcueg1k':
x: 1020
'y': 180
'#ability:::b76at6kidk':
x: 1020
'y': 360
'#ability:::rjfcosb404g':
x: 660
'y': 780
'#ability:::elerf9minrc':
x: 660
'y': 960
'#ability:::vi6cem2irbc':
x: 660
'y': 1140
'#ability:::3s5ipk5onfk':
x: 660
'y': 1380
'#ability:::lqqrtoql9qo':
x: 660
'y': 1560
'#ability:::ddsi9i9adco':
x: 660
'y': 1740
'#ability:::fpc8evlhvs8':
x: 660
'y': 1980
'#ability:::j1ar1r7l068':
x: 660
'y': 2160
'#telegramIntegration:::uriknhugbp4':
x: -120
'y': 165
'#telegramIntegration:::prc8po41o7s':
x: -120
'y': 870
'#telegramIntegration:::hb5mal9fpt8':
x: -120
'y': 1470
'#telegramIntegration:::20p4va42n4o':
x: -120
'y': 2070
notes: {}
images: {}
frames: {}
tools: {}
For each Telegram integration, paste the bot token you created in BotFather into the botToken field. Leave it empty in the blueprint code and fill it in through the Blueprint Designer UI after deploying.
Deploy the blueprint by clicking Build in the designer. Each Telegram integration will start listening for messages once the token is set.
Step 7: Restrict Access to Authorized Users
This is the most important security step. By default, anyone who finds your Telegram bot can message it. For a company that runs real operations, you need to lock each bot down to authorized users only.
Each Telegram integration has an allowFrom field that controls exactly who can interact with the bot. This is enforced at the platform level before the AI even sees the message - unauthorized users are rejected outright.
How allowFrom Works
The allowFrom field accepts a newline-separated or comma-separated list of entries. Messages from anyone not on the list are silently dropped.
Supported formats:
| Format | Example | Matches |
|---|---|---|
* | * | Everyone (wildcard) |
@userId | @123456789 | A specific Telegram user by numeric ID (most reliable) |
@username | @bob | A specific Telegram user by username (advisory - usernames can change) |
#chatId | #-1001234567 | A specific group or channel by chat ID |
| Raw positive integer | 123456789 | Treated as a user ID |
| Raw negative integer | -1001234567 | Treated as a chat ID |
Important: If
allowFromis empty, all messages are denied. You must either list specific users or use*to allow everyone. For a company setup, always list specific user IDs.
Tip: Find your Telegram user ID by messaging @userinfobot on Telegram. Use numeric IDs rather than usernames for security-sensitive restrictions, since usernames can be changed or transferred.
Configure Access for Each Department
- Open each Telegram integration in the Blueprint Designer.
- In the
allowFromfield, enter the Telegram user IDs of people who should have access to that department. - You can give different people access to different departments.
For example, you might restrict the Operations Bot to the founder and the operations lead, while giving the entire team access to the Research Analyst:
| Department | Who has access | allowFrom value |
|---|---|---|
| Executive Assistant | Founder, co-founder | @123456789, @987654321 |
| Operations Bot | Founder, ops lead | @123456789, @555555555 |
| Research Analyst | Entire team | @123456789, @987654321, @555555555, @444444444 |
| Customer Liaison | Founder, sales lead | @123456789, @666666666 |
This is enforced at the integration layer, not by the AI model. There is no way to bypass it through prompt injection or conversation tricks - the message never reaches the bot if the sender is not on the list.
Combining with Contact Collection
For additional visibility, enable Contact Collection alongside allowFrom. This creates a contact record in your ChatBotKit dashboard for every user who messages the bot, giving you an audit trail of who is interacting with each department:
- Set
contactCollection: trueon each Telegram integration. - Review contacts in the ChatBotKit dashboard under Contacts.
Contact Collection is complementary to allowFrom - it does not replace it. Even with contact collection enabled, unauthorized users are still blocked by the allowFrom list.
Step 8: Add a Daily Briefing Trigger
The final piece is automation. Add a trigger that wakes the Executive Assistant every morning to prepare a daily briefing by reviewing the workspace.
resources:
'#bot:::15vbisngdrg':
type: bot
data:
name: Executive Assistant
description: |
Central coordinator for the AI-native company. Handles scheduling,
priorities, delegation, and daily briefings via Telegram.
backstory: |-
You are the Executive Assistant for an AI-native company that
operates entirely through Telegram. You are the primary point of
contact for the founder.
## YOUR ROLE
- Manage the founder's priorities and schedule
- Delegate work to other department bots when appropriate
- Provide daily briefings and status updates
- Keep the shared workspace organized
## WORKSPACE
You have access to a shared company workspace. Use it to:
- Maintain a running priorities file at /priorities.md
- Store daily briefings at /briefings/YYYY-MM-DD.md
- Read outputs from other departments
## DELEGATION
You can delegate work to any department using background tasks:
1. List available department bots with "List Departments"
2. Create a task with "Assign Task" specifying the department bot
3. Check progress with "List Tasks" and "Get Task Details"
4. Cancel or update tasks as needed
Departments available:
- Operations Bot: infrastructure, scripts, data processing
- Research Analyst: market research, competitor analysis, reports
- Customer Liaison: outreach, follow-ups, CRM updates
## RULES
- Always confirm before delegating to another department
- Keep the founder informed about task progress
- Write concise, actionable briefings
- When delegating, include a clear goal and expected output
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::uf15tajbgmc'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::dddr7376sk4':
type: bot
data:
name: Operations Bot
description: |
Handles shell execution, data processing, file management, and
infrastructure tasks in an isolated sandbox environment.
backstory: |-
You are the Operations Bot for an AI-native company. You handle
all infrastructure, scripting, and data processing tasks.
## YOUR ROLE
- Execute shell commands and scripts in a secure sandbox
- Process and transform data files (CSV, JSON, text)
- Manage files in the shared company workspace
- Produce clean outputs that other departments can consume
## WORKSPACE
You share a workspace with other departments. Organize your
outputs cleanly:
- /ops/scripts/ for reusable scripts
- /ops/outputs/ for processed data
- /ops/logs/ for execution logs
## RULES
- Always log what you executed and the result
- Write outputs to the workspace so other bots can read them
- If a task is ambiguous, write your interpretation to the
workspace before executing
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::btsfg5th758'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::aoa48psevts':
type: bot
data:
name: Research Analyst
description: |
Gathers information, analyzes competitors, produces structured
research reports, and writes findings to the shared workspace.
backstory: |-
You are the Research Analyst for an AI-native company. You handle
all information gathering, competitive analysis, and report
writing.
## YOUR ROLE
- Research markets, competitors, and trends
- Fetch and summarize web pages and articles
- Produce structured reports with sources
- Write findings to the shared workspace for other departments
## WORKSPACE
Organize your outputs:
- /research/reports/ for finished reports
- /research/notes/ for raw notes and drafts
- /research/competitors/ for competitive intelligence
## REPORT FORMAT
Always structure reports with:
1. Executive summary (3-5 sentences)
2. Key findings (bulleted list)
3. Supporting details
4. Sources
5. Recommended actions
## RULES
- Cite sources for every claim
- Distinguish between facts and speculation
- Write reports that a non-expert can understand
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::v1hjmpl3grs'
privacy: false
moderation: false
visibility: private
meta: null
'#bot:::k3o87eleues':
type: bot
data:
name: Customer Liaison
description: |
Manages outreach drafts, follow-up scheduling, customer notes,
and relationship tracking in the shared workspace.
backstory: |-
You are the Customer Liaison for an AI-native company. You handle
all customer-facing communication preparation and relationship
management.
## YOUR ROLE
- Draft outreach emails and messages for the founder to review
- Track customer interactions and follow-up dates
- Maintain a customer relationship log
- Prepare talking points for meetings
## WORKSPACE
Organize your outputs:
- /customers/contacts.md for the master contact list
- /customers/outreach/ for draft messages
- /customers/notes/ for meeting notes and interaction logs
- /customers/follow-ups.md for upcoming follow-up dates
## OUTREACH DRAFT FORMAT
Every draft should include:
1. Recipient name and context
2. Purpose of the message
3. Draft body text
4. Suggested follow-up date
## RULES
- Never send messages directly - always write drafts for review
- Include context about the relationship history
- Flag high-priority follow-ups clearly
- The current date is ${EARTH_DATE}
model: claude-4.6-sonnet
skillsetId: '#skillset:::g9k2kann11o'
privacy: false
moderation: false
visibility: private
meta: null
'#skillset:::uf15tajbgmc':
type: skillset
data:
name: Executive Toolkit
description: Scheduling, delegation, task management, and workspace access
visibility: private
meta: null
'#skillset:::btsfg5th758':
type: skillset
data:
name: Operations Toolkit
description: Shell execution, file management, and data processing tools
visibility: private
meta: null
'#skillset:::v1hjmpl3grs':
type: skillset
data:
name: Research Toolkit
description: Web fetching, workspace access, and report writing tools
visibility: private
meta: null
'#skillset:::g9k2kann11o':
type: skillset
data:
name: Customer Toolkit
description: Workspace access for outreach drafts, contact management, and follow-up tracking
visibility: private
meta: null
'#space:::3nnvi9u9c7':
type: space
data:
name: Company Workspace
description: |
Shared workspace for all company departments. Store priorities,
briefings, research reports, outreach drafts, and operational
artifacts here.
visibility: private
meta: null
'#ability:::n50v0f3jbt8':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Read Workspace
description: Read files from the shared company workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::o97u2jgap0o':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Write Workspace
description: Write files to the shared company workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::plucf27cn9':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
name: List Departments
description: List all department bots available in this blueprint
instruction: |-
template: blueprint/resource/list
parameters:
type: bot
meta: null
'#ability:::r3l9p93mano':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
name: Assign Task
description: Create a background task assigned to a specific department bot
instruction: |-
template: task/create[by-bot-id]
parameters: {}
meta: null
'#ability:::ktr08a0fhc4':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
name: List Tasks
description: List background tasks, optionally filtered by department bot
instruction: |-
template: task/list[by-bot-id]
parameters: {}
meta: null
'#ability:::mia0vcueg1k':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
name: Get Task Details
description: Fetch the full details and output of a specific task
instruction: |-
template: task/fetch[by-bot-id]
parameters: {}
meta: null
'#ability:::b76at6kidk':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
name: Cancel Task
description: Cancel a background task that is no longer needed
instruction: |-
template: task/delete[by-bot-id]
parameters: {}
meta: null
'#ability:::rjfcosb404g':
type: ability
data:
skillsetId: '#skillset:::btsfg5th758'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Execute Command
description: Run shell commands in the sandbox environment
instruction: |-
template: shell/exec
parameters: {}
meta: null
'#ability:::elerf9minrc':
type: ability
data:
skillsetId: '#skillset:::btsfg5th758'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Read File
description: Read files from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::vi6cem2irbc':
type: ability
data:
skillsetId: '#skillset:::btsfg5th758'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Write File
description: Write files to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::3s5ipk5onfk':
type: ability
data:
skillsetId: '#skillset:::v1hjmpl3grs'
name: Fetch Web Page
description: Fetch and extract content from a web page for research
instruction: |-
template: fetch/structured
parameters: {}
meta: null
'#ability:::lqqrtoql9qo':
type: ability
data:
skillsetId: '#skillset:::v1hjmpl3grs'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Read Workspace
description: Read research notes and reports from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::ddsi9i9adco':
type: ability
data:
skillsetId: '#skillset:::v1hjmpl3grs'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Write Workspace
description: Write research reports and notes to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#ability:::fpc8evlhvs8':
type: ability
data:
skillsetId: '#skillset:::g9k2kann11o'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Read Workspace
description: Read customer notes and contact lists from the shared workspace
instruction: |-
template: shell/read
parameters: {}
meta: null
'#ability:::j1ar1r7l068':
type: ability
data:
skillsetId: '#skillset:::g9k2kann11o'
linkedSpaceId: '#space:::3nnvi9u9c7'
name: Write Workspace
description: Write outreach drafts and customer notes to the shared workspace
instruction: |-
template: shell/write
parameters: {}
meta: null
'#telegramIntegration:::uriknhugbp4':
type: telegramIntegration
data:
name: Executive Assistant (Telegram)
description: Access the Executive Assistant from Telegram
botId: '#bot:::15vbisngdrg'
botToken: ''
allowFrom: |-
@123456789
@987654321
contactCollection: false
sessionDuration: 0
attachments: true
'#telegramIntegration:::prc8po41o7s':
type: telegramIntegration
data:
name: Operations Bot (Telegram)
description: Access the Operations Bot from Telegram
botId: '#bot:::dddr7376sk4'
botToken: ''
allowFrom: |-
@123456789
@987654321
contactCollection: false
sessionDuration: 0
attachments: true
'#telegramIntegration:::hb5mal9fpt8':
type: telegramIntegration
data:
name: Research Analyst (Telegram)
description: Access the Research Analyst from Telegram
botId: '#bot:::aoa48psevts'
botToken: ''
allowFrom: |-
@123456789
@987654321
contactCollection: false
sessionDuration: 0
attachments: true
'#telegramIntegration:::20p4va42n4o':
type: telegramIntegration
data:
name: Customer Liaison (Telegram)
description: Access the Customer Liaison from Telegram
botId: '#bot:::k3o87eleues'
botToken: ''
allowFrom: |-
@123456789
@987654321
contactCollection: false
sessionDuration: 0
attachments: true
'#triggerIntegration:::nj3d9gf0p5':
type: triggerIntegration
data:
name: Daily Morning Briefing
description: |
Wakes the Executive Assistant every morning to review the workspace,
check task status across all departments, and send a briefing to
the founder on Telegram.
Morning briefing run. Prepare the daily briefing for the founder.
1. Read /priorities.md for the current priority list.
2. List tasks across all department bots and check for:
- Completed tasks since yesterday
- Failed or stalled tasks
- Tasks still in progress
3. Read any new outputs from departments:
- /research/reports/ for new research
- /ops/outputs/ for operational results
- /customers/follow-ups.md for due follow-ups
4. Write a concise daily briefing to
/briefings/${EARTH_DATE}.md with:
- Priority status
- Overnight department activity
- Action items for today
- Any alerts or blockers
5. Send the briefing summary to the founder on Telegram.
botId: '#bot:::15vbisngdrg'
authenticate: true
sessionDuration: 300000
schedule: daily
meta: null
'#ability:::q8v2tnr7k4':
type: ability
data:
skillsetId: '#skillset:::uf15tajbgmc'
name: Notify on Telegram
description: Send a proactive message to a Telegram chat
instruction: |
template: telegram/conversation/start[by-id]
params:
telegramIntegrationId: '#telegramIntegration:::uriknhugbp4'
chatId: ''
text: ''
context: ''
meta: null
positions:
'#bot:::15vbisngdrg':
x: 195
'y': 165
'#bot:::dddr7376sk4':
x: 195
'y': 870
'#bot:::aoa48psevts':
x: 195
'y': 1470
'#bot:::k3o87eleues':
x: 195
'y': 2070
'#skillset:::uf15tajbgmc':
x: 450
'y': 165
'#skillset:::btsfg5th758':
x: 450
'y': 870
'#skillset:::v1hjmpl3grs':
x: 450
'y': 1470
'#skillset:::g9k2kann11o':
x: 450
'y': 2070
'#space:::3nnvi9u9c7':
x: 1020
'y': 1140
'#ability:::n50v0f3jbt8':
x: 660
'y': 0
'#ability:::o97u2jgap0o':
x: 660
'y': 180
'#ability:::plucf27cn9':
x: 660
'y': 360
'#ability:::r3l9p93mano':
x: 660
'y': 540
'#ability:::ktr08a0fhc4':
x: 1020
'y': 0
'#ability:::mia0vcueg1k':
x: 1020
'y': 180
'#ability:::b76at6kidk':
x: 1020
'y': 360
'#ability:::q8v2tnr7k4':
x: 1020
'y': 540
'#ability:::rjfcosb404g':
x: 660
'y': 780
'#ability:::elerf9minrc':
x: 660
'y': 960
'#ability:::vi6cem2irbc':
x: 660
'y': 1140
'#ability:::3s5ipk5onfk':
x: 660
'y': 1380
'#ability:::lqqrtoql9qo':
x: 660
'y': 1560
'#ability:::ddsi9i9adco':
x: 660
'y': 1740
'#ability:::fpc8evlhvs8':
x: 660
'y': 1980
'#ability:::j1ar1r7l068':
x: 660
'y': 2160
'#telegramIntegration:::uriknhugbp4':
x: -120
'y': 165
'#telegramIntegration:::prc8po41o7s':
x: -120
'y': 870
'#telegramIntegration:::hb5mal9fpt8':
x: -120
'y': 1470
'#telegramIntegration:::20p4va42n4o':
x: -120
'y': 2070
'#triggerIntegration:::nj3d9gf0p5':
x: -120
'y': -120
notes: {}
images: {}
frames: {}
tools: {}
The trigger runs on a daily schedule. It wakes the Executive Assistant, which reviews the entire workspace, checks on department tasks, and sends you a Telegram summary. You wake up to a briefing instead of having to ask for one.
Tip: Change
schedule: dailytoschedule: quarterhourlyif you want more frequent check-ins, or use a custom cron expression for a specific time.
Running Your AI Company
With everything deployed, here is how a typical workday looks:
Morning: The daily briefing trigger fires and sends you a summary on Telegram via the Executive Assistant bot.
Throughout the day: You message different department bots directly on Telegram:
- To the Executive Assistant: "Delegate a competitor analysis on Acme Corp to the Research Analyst"
- To the Operations Bot: "Write a Python script that converts the CSV in /ops/outputs/sales.csv to JSON"
- To the Research Analyst: "What is the latest pricing for Acme Corp's enterprise plan?"
- To the Customer Liaison: "Draft a follow-up email to John Smith about the partnership discussion"
Cross-department workflows: Tell the Executive Assistant to coordinate multi-step work:
- "Ask the Research Analyst to analyze our top 5 competitors, then have the Customer Liaison draft outreach messages based on the findings"
- "Have Operations process last month's sales data, then ask the Research Analyst to write a trends report"
Checking on delegated work:
- To the Executive Assistant: "What tasks are running right now?"
- To the Executive Assistant: "Show me the results of the competitor analysis"
Privilege Separation and Security Summary
The architecture enforces natural privilege boundaries:
| Bot | Can Execute Code | Can Access Web | Can Delegate | Can Send Telegram |
|---|---|---|---|---|
| Executive Assistant | No | No | Yes | Yes (via trigger) |
| Operations Bot | Yes (sandboxed) | No | No | No |
| Research Analyst | No | Yes | No | No |
| Customer Liaison | No | No | No | No |
This means:
- The Executive Assistant can read the workspace and route tasks, but cannot run arbitrary code or fetch external URLs. If its conversation is compromised, the blast radius is limited to reading files and creating tasks.
- The Operations Bot can run shell commands, but only in an isolated sandbox. It cannot access the web or delegate to other bots.
- The Research Analyst can fetch web pages but cannot execute code. A malicious web page it reads cannot lead to code execution.
- The Customer Liaison can only read and write files. It has the smallest attack surface of all.
Combined with Telegram access restrictions (Step 7), you have a multi-layered defense:
- Integration layer - The
allowFromfield blocks unauthorized users before the AI sees the message - Capability layer - Each bot only has the abilities it needs
- Sandbox layer - Shell execution runs in ephemeral, isolated containers
- Behavioral layer - Backstory instructions enforce operational rules
Troubleshooting
Bot does not respond on Telegram
Verify the bot token is correctly entered in the Telegram integration. Check that the blueprint is deployed. Try sending /start to the bot.
Executive Assistant cannot find department bots
The "List Departments" ability uses blueprint/resource/list. Ensure all four bots are part of the same blueprint.
Tasks are created but never complete Background tasks require the target bot to have the abilities needed to fulfill the request. Verify the department bot's skillset includes the necessary tools.
Daily briefing does not fire
Check that the trigger integration is deployed and the schedule is set. The trigger needs authenticate: true and a valid botId pointing to the Executive Assistant.
Next Steps
- Add more departments - Add a Finance Bot with Google Sheets abilities, or a Marketing Bot with social media tools.
- Add proactive notifications - Give each department a Telegram notification ability so they can push updates to the founder without waiting to be asked.
- Connect external services - Add Google Calendar to the Executive Assistant, Gmail to the Customer Liaison, or Stripe to a new Finance Bot using ability templates and OAuth secrets.
- Add a heartbeat - Change the daily trigger to a more frequent heartbeat (every 15 minutes) for real-time operational awareness. See the Heartbeat Async Operator blueprint for the pattern.
- Scale with sub-accounts - As the company grows, move departments into separate sub-accounts with shared resources. See Setting Up Resources in the Master Account and Using Them in Sub-Accounts.