| name | datarobot-app-framework |
| description | Build and deploy applications on DataRobot using the App Framework component system — FastAPI apps, LLM integrations, and agentic workflows (CrewAI, LangGraph, LlamaIndex). |
DataRobot App Framework
Build and deploy applications on DataRobot using composable af-component-* building blocks.
Trigger Conditions
Use this skill when the user:
- Wants to build or deploy any application on DataRobot using the App Framework
- Wants to create an agentic workflow (CrewAI, LangGraph, LlamaIndex)
- Wants a FastAPI backend or React frontend deployed to DataRobot
- Wants to integrate an LLM into a DataRobot app or notebook
- Wants to set up an App Framework recipe with any component
- Mentions
dr component add, af-component, copier copy, or recipe- in an AF context
- Wants to wire components together (FastAPI ↔ Agent, LLM ↔ Agent, etc.)
- Wants to add tools, auth, or chat history to a DataRobot app
Not This Skill
If the user is asking about any of the following, use datarobot-oss/datarobot-agent-skills instead:
- Training or evaluating ML models (AutoML, tabular data)
- Managing model deployments for predictions
- Feature engineering or feature importance
- Model monitoring, data drift, or model health
- Batch or real-time predictions on tabular data
- SHAP values or model explainability
Note on overlapping vocabulary: The words "agent," "deployment," and "DataRobot" appear in both skill packs but mean different things. In this skill, "agent" means an LLM-based agentic app (CrewAI/LangGraph/LlamaIndex) and "deployment" means a CustomApplication. If the user is talking about ML models or tabular data, route to the OSS pack.
Pick Your Scenario
| What you want to build | Scenario |
|---|
| Agent API + playground UI (no custom frontend) | Default — see below |
| Simple FastAPI app / custom web UI | scenarios/fastapi-app.md |
| LLM integration in a notebook | scenarios/llm-notebook.md |
Component Map
| Component | Role |
|---|
| af-component-base | Foundation — always first |
| af-component-llm | LLM connectivity |
| af-component-agent | Agent orchestration: CrewAI / LangGraph / LlamaIndex |
| af-component-fastapi-backend | Simple FastAPI app |
| af-component-react | React frontend |
For extended scenarios, load the relevant file from scenarios/.
Prerequisites
pip install datarobot-cli
curl -LsSf https://astral.sh/uv/install.sh | sh
dr auth set-url && dr auth login
Default Recipe: Minimal Agent
Outputs: API endpoint + DataRobot agent playground UI.
Step 1 — Create recipe directory
mkdir recipe-my-agent && cd recipe-my-agent
Convention: always prefix with recipe-. For team projects, create the repo in the DataRobot GitHub org first and clone it.
Step 2 — Scaffold base
uvx copier copy https://github.com/datarobot/af-component-base .
Answer the interactive questions about your recipe name and settings. Defaults are safe.
Step 3 — Add LLM
uvx copier copy https://github.com/datarobot-community/af-component-llm .
Key prompts:
- LLM folder name:
llm (default)
- Model name:
azure-openai-gpt-4o-mini or as required
- Base answers file:
.datarobot/answers/base.yml
Creates infra/infra/llm.py and gateway config files.
Step 4 — Add agent
dr component add agent
Key prompts:
- Agent folder name:
agent (default)
- Low-code YAML (NeMo Toolkit)?: No (unless user specifically requests it)
- Framework: CrewAI / LangGraph / LlamaIndex — choose based on user need
- Base answers file:
.datarobot/answers/base.yml
- LLM answers file:
.datarobot/answers/llm-llm.yml
- MCP answers file:
.datarobot/answers/drmcp-mcp_server.yml (optional — skip if not using MCP tools)
Creates:
agent/
├── agent/myagent.py ← multi-agent workflow (customize here)
├── cli.py ← local testing tool
├── dev.py ← local dev server
└── tests/
infra/infra/agent.py ← Pulumi deployment config
Step 5 — Configure environment
dr dotenv setup
Key prompts:
- Agent port: 8842 (default)
- DataRobot execution environment: select from available environments
- Execution environment version ID: ID of the environment version to use
- Pulumi passphrase: any value (used for state encryption)
- Use case: can leave blank
- LLM Gateway config: select LLM Gateway with External Model
Press enter to accept defaults for most prompts.
Step 6 — Test locally
cd agent
uv run python cli.py execute --user_prompt "Write a blog post about AI in healthcare"
cat execute_output.json | jq -r '.choices[0].message.content'
For iterative development with auto-reload:
dr run dev
cd agent && uv run python cli.py execute --user_prompt "Test prompt"
Server runs at http://localhost:8842 and reloads on code changes.
Step 7 — Deploy
dr task deploy
Prompts to create a stack (name it anything), previews LLM + Agent resources, then deploys both. Outputs deployment IDs and URLs.
Check deployment info anytime:
dr task infra:info
What you get
- Default: Planner agent (research + outline) + Writer agent (content creation)
- Sequential workflow with MCP tools support
- Agent playground UI in DataRobot
- API endpoint for integration
Deploy updates
dr run deploy
Tear down
dr task infra:down
Customize
Edit agent/agent/myagent.py to:
- Change agent roles, goals, or task descriptions
- Add more agents to the crew
- Integrate additional MCP tools
- Switch framework (CrewAI → LangGraph → LlamaIndex)
Resources