skills/beam/beam-tools/build-beam-agent/SKILL.md
End-to-end agent builder for Beam AI. Takes a demo request or requirements doc, designs the workflow collaboratively with the user (via mermaid diagrams), then deploys the agent to Beam AI via API. Triggers on "build beam agent", "create beam agent", "deploy agent to beam", "build agent from request", "build demo agent". Handles the full lifecycle from requirements to live agent on the platform.
npx skillsauth add beam-ai-team/beam-next-skills build-beam-agentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Design and deploy a complete Beam AI agent from a demo request or requirements document. This skill handles the full lifecycle: understand requirements → design workflow → confirm with user → deploy to Beam.
Before creating, updating, or deploying a Beam agent, show the target workspace, agent name, graph/node count, integrations involved, generated payload/spec location, and expected side effects. Require explicit user approval in the current turn. Requirement analysis, diagramming, node design, and local payload drafting do not require approval.
.env (BEAM_API_KEY, BEAM_WORKSPACE_ID)NOTION_API_KEY from .env, download attachments)Present to the user:
Ask: "Does this capture the request correctly? Anything to add or change?"
Determine with the user:
Do NOT proceed until the user confirms the scope.
Design the agent workflow as a mermaid diagram. Show:
Example format:
graph TD
A[Trigger] --> B[Classifier Node]
B -->|condition_a| C[Branch A Processing]
B -->|condition_b| D[Branch B Processing]
C --> E[Integration Node]
E --> F[Exit A]
D --> G[Consent Gate]
G --> H[Exit B]
For each node, specify:
Present the complete design and ask: "Here's the full workflow with [N] nodes. Does this look right? Any changes before I build it?"
Do NOT proceed to deployment until the user confirms the design.
POST /agent-graphs/completeFollow these mandatory rules (from BEAM-AGENT-BUILDING-GUIDE.md):
```{param_name}``` (triple backticks + single curly braces){{double_braces}}{anything} NOT in triple backticks → task will fail at runtime{
"fillType": "ai_fill",
"position": 0,
"required": true,
"dataType": "string",
"paramName": "param_name",
"paramDescription": "What this param contains",
"outputExample": "example value",
"reloadProps": false,
"remoteOptions": false
}
reloadProps and remoteOptions are mandatory booleans — omitting causes 400{
"isArray": false,
"paramName": "output_name",
"position": 0,
"paramDescription": "What this outputs",
"dataType": "string",
"outputExample": "example"
}
isArray is mandatory — omitting causes validation errorenum type with typeOptions.enumValues for classification outputscondition must be a string, never null — use empty string "" for unconditionalconditionGroups with enum-based rules in the UI, or string conditions in the APIPUT /agent-graphs/{agentId} to push the full graphPATCH /agent-graphs/{agentId}/nodes/{nodeId}/prompt per node (safer — doesn't touch edges/conditions)toolFunctionName but note that integration connections must be configured in the Beam dashboard by the userGET /agent-graphs/{agentId}Tell the user what they need to configure in the Beam dashboard:
Create 2-3 sample inputs that test different branches:
POST /agent-tasks
Body: {"agentId": "...", "taskQuery": {"query": "sample input text"}}
GET /agent-tasks/{taskId} for status# Exchange API key for token
POST /auth/access-token
Body: {"apiKey": "your_api_key"}
Response: {"idToken": "...", "refreshToken": "..."}
# Headers for all requests
Authorization: Bearer {idToken}
current-workspace-id: {workspace_id}
Content-Type: application/json
| Action | Method | Endpoint |
|--------|--------|----------|
| Create agent + graph | POST | /agent-graphs/complete |
| Update full graph | PUT | /agent-graphs/{agentId} |
| Get agent graph | GET | /agent-graphs/{agentId} |
| Update node prompt | PATCH | /agent-graphs/{agentId}/nodes/{nodeId}/prompt |
| Update node params | PATCH | /agent-graphs/{agentId}/nodes/{nodeId}/input-output-params |
| Add node | POST | /agent-graphs/add-node |
| Add edge | POST | /agent-graphs/add-edge |
| Create task | POST | /agent-tasks |
| Get task status | GET | /agent-tasks/{taskId} |
| Approve consent | POST | /agent-tasks/execution/{taskId}/user-consent |
https://app.beam.ai/{workspaceId}/{agentId}/flowBEAM_WORKSPACE_ID in .env (that may be a different workspace)| Integration | Action | toolFunctionName |
|-------------|--------|-----------------|
| Airtable | Create record | AirtableAction_RecordCreate |
| Airtable | Update record | AirtableAction_RecordUpdate |
| Airtable | Get records | AirtableAction_GetRecords |
| Outlook | Send email | MicrosoftOutlookAction_MessageSend |
| Outlook | Draft reply | MicrosoftOutlookAction_DraftMessageReply |
| Gmail | Send email | GmailAction_SendEmail |
| Gmail | Draft email | GmailAction_DraftEmail |
| Slack | Send message | SlackAction_SendMessage |
Before deploying, verify:
```{param}``` for parameter refs (not bare {param}){{double_braces}}reloadProps: false and remoteOptions: falseisArray field setcondition fields are strings (not null)toolFunctionNameAfter completing this skill:
04-workspace/AgentDemos/{client-name}/Version: 1.0 Created: 2026-03-29 Source: Built from experience deploying the SGO Correspondence Brief & Response Agent
tools
Build a Palantir-shape, PDF-native use-case proposal document for a sophisticated enterprise account: research-grounded use cases (each with description, challenge, impact, value), an operating-graph ontology page, a recommended PoC with a week-by-week plan, and a closing page that asks for one decision. Load when a client asks us to 'propose high-impact use cases', requests a use-case presentation/catalog for a function (finance, HR, ops), or when a technical evaluation team will review candidates to pick a PoC. NOT for single-account cold outreach (use prospect-brief), full process diagnostics (use operating-diagnostic), or priced proposals (use proposal-creation).
development
Convert Beam Figma slide designs into high-fidelity, editable HTML presentation decks. Use when Codex is asked to audit Figma slides, extract slide templates, rebuild Beam slides as HTML decks, decide whether Figma imagery should be exported or rebuilt in HTML/CSS, create Beam/Prism-compatible deck templates, or improve fidelity of existing Beam HTML slide rebuilds.
development
Use the Beam AI reusable slide library: individual HTML slide templates extracted from Beam Figma rebuilds, kept separate from deck themes and full deck templates. Load when the user asks for a slide library, specific Beam slide patterns, reusable Figma-inspired slides, Prism slide-library items, or slide-level HTML templates.
development
Use Beam AI deck and report design packs, HTML templates, and curated examples to create sales decks, customer intro decks, RPO decks, and DIN A4 use-case proposal reports. Load when the user asks for Beam-branded presentation templates, Prism-compatible deck templates, Beam report templates, customer intro decks, commercial proposals, or reusable HTML deck/report examples.