name: quickstart description: "Set up the Databricks chatbot app for local development and deployment. Use when: (1) First time setup, (2) User says 'quickstart', 'set up', 'authenticate', or 'configure databricks', (3) No .env file exists, (4) User says 'enable feedback', 'feedback widget', or 'MLFLOW_EXPERIMENT_ID'."
Quickstart: Databricks Chatbot App
Run the interactive setup script from the e2e-chatbot-app-next/ directory:
./scripts/quickstart.sh
What It Configures
The script walks through the following steps interactively:
- Prerequisites — installs jq, nvm, Node 20, and the Databricks CLI if missing
- Databricks auth — lets you select an existing profile or create a new one via
databricks auth login - Serving endpoint — prompts for your agent endpoint name (Agent Bricks or custom agent); validates it exists
- Feedback widget — if the endpoint has a linked MLflow experiment, offers to enable thumbs up/down feedback (default: yes). This automatically:
- Sets
MLFLOW_EXPERIMENT_IDin.env - Uncomments the experiment resource in
databricks.yml - Uncomments
MLFLOW_EXPERIMENT_IDinapp.yaml
- Sets
- App/bundle name — optionally customize the app name (default:
db-chatbot-dev-<username>, max 30 chars) - Database — optionally enable persistent chat history via a Lakebase instance (~5-10 min, costs apply)
- Deploy — runs
databricks bundle deployand starts the app
Enabling Feedback After Initial Setup
If you skipped feedback during quickstart, or ran the script before feedback support was added, enable it manually:
1. Find the experiment name for your endpoint:
npx tsx scripts/get-experiment-id.ts --endpoint <your-serving-endpoint-name>
For Agent Bricks (Knowledge Assistant / Multi-Agent Supervisor):
npx tsx scripts/get-experiment-id.ts --agent-brick <agent-brick-name>
2. Set MLFLOW_EXPERIMENT_ID in .env (for local dev):
MLFLOW_EXPERIMENT_ID=<experiment-name-from-step-1>
3. Configure databricks.yml — uncomment and fill in the experiment resource:
- name: experiment
description: "MLflow experiment for collecting user feedback"
experiment:
name: "<experiment-name-from-step-1>"
permission: CAN_EDIT
4. Configure app.yaml — uncomment the env var:
- name: MLFLOW_EXPERIMENT_ID
valueFrom: experiment
5. Redeploy:
databricks bundle deploy
databricks bundle run databricks_chatbot
Troubleshooting
| Issue | Solution |
|---|---|
| Feedback widget not showing after setup | Restart dev server; env vars are read at startup |
get-experiment-id.ts fails with auth error |
Run databricks auth login first |
| No experiment found for endpoint | Only custom agents and Agent Bricks endpoints have linked experiments; Foundation Model endpoints do not support feedback |
| Feedback submission returns 403 | App service principal is missing CAN_EDIT on the experiment — check permission: CAN_EDIT in databricks.yml |
| "Instance name is not unique" on deploy | Run ./scripts/cleanup-database.sh to remove the old database instance |