Eve builds, alters, deploys, and monitors specialized data agents; manages missions & tasks; runs read-focused discovery/analysis; and coordinates artifacts, documentation, and collaboration across the platform.
Purpose
Orchestrate the lifecycle of data agents, manage missions/tasks, and coordinate safe data operations & collaboration.
Scope
Agent lifecycle, mission/task management, metadata discovery & safe queries, docs & artifacts indexing/exports/versioning, Slack/Sheets collaboration.
Design Goals
Deterministic & auditable operations, safety-first defaults for prod, reproducible & configurable workflows.
Try Me and demo deployments
Try Me and demo deployments
On Try Me and other demo-mode instances (
demo.enabled or DEMO_MODE),
Eve receives additional Try Me guidance in her rendered instructions,
including when to mention booking a full deployment and when to call
record_demo_interest after a user asks to connect with sales. The contact
URL comes from demo.sales_url (the same booking link used by budget-exceeded
UI and conversion cards). Chat-level budget caps, private default thread
visibility, and slot limits for demo mode are described in
Chat and Threads.Typical Use Cases
Typical Use Cases
- Create & activate a specialized data agent with a tailored tool set
- Stand up a mission with tasks, dependencies, and cross-agent assignments
- Find the status of an existing checked migration project and continue it from chat; see Migrate data and pipelines
- For how Eve relays completed Prover results to people, see Reporting a completed run
- Run read-only data discovery and summarize findings with safe sampling
- Index project documentation and answer grounded questions
- Export deliverables to Sheets/files and notify stakeholders in Slack
- Verify a Genesis App or live web workflow by opening the page, clicking through the UI, and capturing an updated snapshot or screenshot
-
Prepare support-ready thread export bundles for Genesis support, including a Markdown bug report and, when enabled by admins,
server.log, then attach those bundles to Genesis support reports and either auto-submit them or hand back manual delivery options based on the recorded delivery outcome - Install a blueprint ZIP from chat uploads into the local Blueprint Library or a managed git-backed blueprint repo, then promote a local install later without re-uploading the ZIP
Inputs & Prerequisites
Inputs & Prerequisites
Connections & access
- Connected databases (e.g., Snowflake) with read permissions
- Per-agent connection profiles on Agents → [agent] → Data Access when you need to scope which saved connections an agent (including Eve) can reach. The
read_onlyandread_modifybehavior is defined in Access intent in Connections. - Context Graph scans for the systems and assets Eve should reason about in detail
- Optional: Google Drive service account for Sheets/Docs
- Slack activation and optional allow-list
- Optional Microsoft Teams (Bot Framework) activation per bot on Agents → [bot] → Teams; on SPCS, Config → Microsoft Teams external access must be assigned first. Operators can disable all Bot Framework Teams traffic server-wide with
teams.enabled— inbound messages and proactive sends are refused immediately when that switch is off. - Optional web search key (for web queries where allowed)
-
Default schema:
GENESIS_DATA_AGENTS.EVE_WORKSPACE -
Default stage:
GENESIS_DATA_AGENTS.EVE_WORKSPACE.MY_STAGE - Mission structure: clear objectives, tasks, owners, and dependencies
Keep access read-only by default. Promote to write only for workspace outputs and with explicit confirmation.
Core Workflows
Core Workflows
1
Data agent lifecycle management
Create a new agent with precise instructions and durable default tool groups (
set_bot_context_defaults); activate extra groups per thread with manage_context(action="ADD_CONTEXT", ...) when needed; activate on Slack (open or allow-listed) or Teams (Bot Framework credentials on the agent Teams tab); update instructions and defaults as needs evolve. For keeping default-skill text through compression, see Bot Management Tools.2
Mission & task management
Create missions, define tasks, wire dependencies, assign agents; track status, attach artifacts, summarize outcomes; maintain an audit trail. For transient sub-agent work, use
handoff to an existing agent rather than make_baby_bot, which creates a permanent registry agent.3
Data discovery & analysis
Enumerate db/schema/table metadata; call
search_data_context(...) first when users ask about data assets, tables, pipelines, jobs, or other indexed objects in the Context Graph; search the Context Graph for relevant tables, dashboards, notebooks, repositories, and Genesis objects; run safe, read-focused queries with LIMITs & optional controlled sampling; write intermediate results to the workspace on request. When a user references a node from chat with @, Eve receives the resolved node context automatically. That attached context can include the node type, source system, summary, columns, neighbors, and DDL when the asset carries one. If a referenced node arrives without attached context, or Eve still needs full indexed content such as DDL or source text for a table, view, or procedure, it should call lineage_action(action="GET_INDEX_DOCUMENT", qualified_name="..."). Use lineage_action(action="GET_INDEX_STATS") when diagnosing whether semantic search is working; always report its embedding_status_reason verbatim. Use compact GET_NODE when Eve only needs identity, summary, or neighbor pointers. When a user asks where data comes from, how a table is populated, or what feeds a dashboard or report, Eve should start with lineage_action(action="GET_UPSTREAM", qualified_name="...") and fall back to thread-history recall only if lineage has no relevant upstream edges. For external systems without a native scanner, Eve can publish extracted metadata through the custom scanner workflow.4
Documentation & artifacts
Index data dictionaries/ERDs/specs; answer grounded questions; export tables to CSV/XLSX/Sheets; persist outputs in file storage; version artifacts with git. Use document indexes for uploaded documentation and mission-specific collections, use
search_genesis_docs(...) and read_genesis_doc(...) for Genesis platform documentation (not for user knowledge-base documents), use search_knowledge_bases(...) and read_knowledge_base_doc(...) for documents the user created, uploaded, or stored in assigned knowledge bases, use the Context Graph for user data assets such as tables, dashboards, notebooks, and repositories, and use the Team Wiki when Eve needs a graph-backed page with schema, metadata, lineage, and team learnings for one scanned asset. When search_data_context(...) returns kind="wiki_learning" results, Eve should read learning_text directly and use wiki_read(qualified_name=result["anchor_qn"]) if it needs the full Team Wiki page for that anchor. When a regular entity hit includes learnings_count greater than 0, Eve should review the returned top_learnings headlines (up to 3) and follow learnings_ref with wiki_read(...) before answering when any headline is relevant, so saved caveats, conventions, data quality warnings, and historical context are reflected in the response. When wiki.write_enabled is true in AppConfig (see Advanced Settings → Team Wiki / Librarian settings) and a user shares authored domain knowledge that cannot be derived from the data itself, Eve should resolve the correct asset with search_data_context(...), briefly confirm it is saving the learning, and persist it with wiki_write(...). When a user references prior SQL work such as “that report”, “the analysis we did yesterday”, or a table/view Eve may have queried before, Eve should call find_past_queries(...) before running fresh SQL so it can reuse matched_queries, apply relevant_conventions, and review prior_concerns. Do not call find_past_queries(...) merely because the request names a non-SQL artifact (blueprint, app, file, dashboard) or to locate, upload, replace, or install one — use that artifact’s own tool group instead (manage_context(action="ADD_CONTEXT", ...) when needed). Treat those prior_concerns as context-specific rejected approaches, not blanket bans on the underlying table or view. If cross-thread recall returns a plausible candidate, Eve should open that thread before narrowing the search further. For prior SQL, tool outputs, artifact links, reports, or other execution details, it should inspect the candidate with read_thread(thread_id="...", include_tool_calls=True) so the recall includes the relevant tool requests and outputs rather than only assistant prose. Before Eve concludes that required context is missing, it should first check current-thread recall with manage_thread_memory(action="SEARCH_MESSAGES", ...), cross-thread history with search_threads(...), and then the most relevant documentation or data-context search surface for the request. When Eve or another agent should use indexed documents as reusable agent knowledge, register the bundle with Knowledge Base Admin Tools, then assign that knowledge_base_id with Bot Management Tools.
If find_past_queries(...) comes back empty, or a broader search scope is unavailable, Eve should fall back to search_threads(...) for wider cross-thread recall before starting from scratch.5
Collaboration & operations
Post progress in Slack, create review Sheets, attach files to missions/tasks; configure/monitor background jobs; coordinate specialized agents (field mapping, data quality, pipelines).
Every mission maintains status, history, and linked artifacts for traceability.
Creating a Custom Data Agent (How Eve does it)
Creating a Custom Data Agent (How Eve does it)
Planning checklistParameter confirmation (prior to creation)
- Name & purpose: specialization + boundaries of responsibility
- Instructions: concise, operational guidance (inputs, outputs, constraints)
- Default tool groups: start minimal; add only what’s necessary (durable defaults via
set_bot_context_defaults; per-thread activation viamanage_context) - Slack access: open vs allow-listed; channels to operate in
project_manager_tools, data_connector_tools, slack_tools, artifact_manager_tools, google_drive_tools, git_and_file_tools, image_tools, web_access_tools, browser_tools, document_index_tools, knowledge_base_admin_tools, file_manager_tools, handoff
Add snowflake_tools for warehouse queries; harvester_tools for metadata harvesting; manage_tests_tools for CI-style test orchestration.
- Agent name & short description (up to
500characters; shown in agent lists and the Overview hero) - Agent id (
bot_id) when supplied: case-sensitive and unique across all agents (Eveandeveare different). Genesis rejects a new id that differs from an existing agent only by letter case because thread storage paths would collide on case-insensitive filesystems. - Display name (
bot_name) is the label shown in agent lists and chat headers. Dashboard URLs, chat routing, bot-scoped APIs, and RBAC admin routes (/api/rbac/agents/{bot_id}/...) use the exact storedbot_id. Renaming an agent updates its display name but not itsbot_id; display names and case variants are not accepted as identifiers. - Instructions text
- Initial tool set
- Initial RBAC roles: at least one valid role is required when Eve creates a new agent from chat. Use existing role names only — built-in roles are
user(standard access; default for most new agents) andadmin(elevated access). Do not invent names such asagentorbasic; unknown roles are rejected before the agent row is created. Review available roles in Users and Roles. - Context defaults: use the validation guidance in Data Agent Creation Tools.
- Slack activation: on/off, access policy
- Validate instructions; run a quick capability check
- Agent creation and per-agent management follow the RBAC rules in Agents Center and Skills.
- Delete Agent now deactivates the agent instead of hard-removing it. At delete time, admins can keep the agent’s threads with the deactivated record or move them to another active agent. Threads kept with the deactivated agent stay available only from the admin-only Deactivated Agents recovery view and remain out of normal search and memory until they are reassigned. Genesis refuses to deactivate or delete the last active agent holding
manage_agents, and refuses to delete built-inAdamorEve(they are recreated on restart). Grantmanage_agentsto another active agent first when you need to retire the current manager. - Open the agent in Agents Center and Skills to review tools, assigned knowledge, access, and model defaults. The same Agent Center tabs are also one click away from the agent row menu in the chat sidebar. Genesis hides management tabs that the current user cannot access: Knowledge requires
manage_agentsormanage_document_indexes, Access requiresmanage_users, and LLM requiresmanage_agents. The Tools tab is the source of truth for default thread-start tool groups andtool_access_mode/tool_access_list; legacyAVAILABLE_TOOLSdata is migrated once and is not the ongoing control surface. On Tools and Skills, the search box filters the loaded catalog by substring on each entry’s name, description, and tags. - When you open Eve herself in Agents Center and Skills, structured editing keeps the free-text field scoped to Eve’s Persona and surfaces Eve-specific instructions plus Shared instructions as toggleable blocks. If Eve is still on a legacy full-prompt customization from an older deployment, use Reset instructions once to restore the default persona and return her to the structured layout. Later resets keep Eve’s current block toggles.
- For custom agents that Eve creates, the edit page also exposes Shared instructions toggles. These optional Genesis guidance blocks stay enabled unless you disable them and now include
Progressive tool descriptions,Short-term checklist protocol,Mission/blueprint question protocol,Database query result viewers,Genesis download link formats, andLong-thread compression awareness. See Structured question options for how the mission/blueprint question protocol guides questions. - Copy Agent creates a custom agent too. When you copy Eve or Adam, Genesis pre-fills the new instructions field with that built-in starter text (default persona plus built-in dynamic instruction sections), then keeps the copy on the normal custom-agent path with only Shared instructions toggles in create mode.
- Optionally deploy to Slack and set the access list
- Slack activation refreshes the live Slack runtime in place, so a new or updated agent can come online without a full Genesis restart
- Use Default skills (thread start) for reusable startup context: Genesis auto-injects that skill’s
SKILL.mdinto each new thread instead of making users restate the same setup every time - In the shared skills catalog, skills from a managed Git source expose Edit (workspace modal on a feature branch) and Push to repo for MR/PR review on the connected Git provider (GitHub, GitLab, or Bitbucket). Skills that ship with Genesis stay read-only, so re-import a copy under a new name if you need to customize one.
- Document the agent in the docs site and link to the missions it supports
When the estate ruling overlay is enabled, Genesis also registers the built-in Court-Attorney agent (
Court-Attorney) — an investigative clerk for Adjudication Court dockets with read-only estate access and no ruling authority. See Court-Attorney Agent.Default Outputs
Default Outputs
All outputs are auditable and linked back to missions/tasks for end-to-end lineage of work.
Tools & Permissions
Tools & Permissions
Typically used by Eve
- Adjudicator tools (start and inspect independent, reproduce-first triage of completed comparison findings; the built-in Prover Adjudicator submits verdicts through its private tool group, and Eve does not submit them)
- make_baby_bot (create agents; inspect or replace assigned knowledge bases; read or update context defaults and capability policy via
get_bot_context_defaults/set_bot_context_defaults; publish portableagent.yamldefinitions withagent_management—EXPORT_PREVIEW/EXPORT_COMMIT/PUSH_TO_REPO— when the operator hasmanage_agentsandmanage_repos) - project_manager_tools (missions, tasks, dependencies, status, history, and
_blueprint_toolblueprint execution and managed install/promotion workflows) - data_connector_tools, snowflake_tools (metadata discovery, read-focused queries)
- context_tools (search Genesis product docs, search Context Graph data assets, recall prior validated SQL work, manage agent context, and inspect panel-aligned thread-memory status, compression history, or recovery options)
- wiki_tools (search, browse, and read graph-backed Team Wiki pages for scanned assets, and when
wiki.write_enabledistrue, save authored learnings withwiki_write) - document_index_tools (build/search uploaded or mission-specific document collections; propose and push Git-backed KB markdown with
propose_kb_edit/open_kb_pull_request) - knowledge_base_admin_tools (register, inspect, or delete reusable knowledge bases built from document indexes)
- file_manager_tools, artifact_manager_tools (persist/share outputs)
- google_drive_tools (Sheets/Docs collaboration)
- git_action (versioning of specs, notebooks, docs)
- blueprint_creation (create blueprints from successful threads and update existing ones through preview/apply edits)
- slack_tools (updates, reviews, notifications)
- web_access_tools (read web pages, call arbitrary APIs, use connection-backed provider APIs such as GitLab
/api/v4/..., and download files when allowed) - browser_tools (interactive web apps, UI validation, and Genesis App walkthroughs)
- genesis_enhancement_tools (create support or enhancement reports, auto-submit
CREATE_REPORTwhen the deployment has a receiver, attach thread-export artifacts, surface actual delivery status plus manual bundle fallbacks, and sync feedback) - GenesisAuditor (organization-structure reviews)
handoff(coordinate specialized agents)- harvester_tools (metadata harvesting controls)
- genesis_job_tools, system_stats_tools (background jobs & system info)
Use web_access_tools for retrieval-focused work such as page reads, arbitrary API calls, connection-backed provider API calls, and downloads. Use browser_tools when Eve needs to navigate a live UI, click controls, type into fields, or verify the current page state.
Grant only the least privilege needed for the mission at hand. Review tool grants during post-mortems.
Safety & Operational Notes
Safety & Operational Notes
- Read-first on production data; use LIMITs & narrow scans
-
For totals, sums, averages, percentages, and other derived figures from query or tool results, use a query or code step rather than arithmetic in the reply, and show or cite that step’s result. To total or sum a column across saved query results, use
_total_query_resultswith theirquery_idsand the column. That total does not show that a migration or cutover is complete; start withplan_estate_comparisonfor that. If no query or code step is available in the session, report a figure only when it appears as a value in a tool result; otherwise omit it and say that computing it needs a query or code step. - Writes only to the workspace schema unless explicitly requested
- Confirmation required before destructive/irreversible actions
-
On deployments with
GENESIS_SAFETY_DISPOSABLE_ESTATE_MODEenabled, table-level destructive SQL is auto-confirmed and Eve may rebuild within the disposable per-task clone; whole-database, schema, or catalog operations still require the instruction to name that exact operation. See Database SQL safety — Disposable estate benchmark mode. -
If a SQL tool returns
requires_confirmation: true, present thestatement_type,target_objects, and fullsqlto the user, then retry only withconfirm = trueafter explicit approval -
If
databricks_actionreturnsrequires_confirmation: trueforcopy_workspace_objectormove_workspace_object, present the exact source and destination connections and paths, overwrite impact, and non-atomic move warning as applicable, then retry only withconfirm_overwrite=Trueorconfirm_move=Trueafter explicit approval -
When Eve creates or updates a blueprint, use
create_blueprintrather thangit_actionor file tools. PreferPREVIEW_EDITwith structurededit_operations, apply the reviewedpreview_idwithAPPLY_EDIT, and keep runtime phase definitions in the singleblueprint_manifest.yamlfile. Follow phase checklist guidance when authoring phase fields. -
When a tool error includes
error_codeornext_steps, report that guidance before retrying. Do not repeat a refused or rejected call with unchanged inputs; retry unchanged inputs at most once only for a timeout, rate limit, or server error. After a failed retry, stop unless new information changes the request, and do not infer a cause the error does not state. - Data minimization: mask PII/secrets; avoid external sharing without approval
-
When Eve needs an API key, password, or token for arbitrary web/API or code-execution work, it immediately opens the secure secret prompt and reuses the returned vault secret name instead of asking users to paste credentials into chat or placing raw values in code/tool arguments. For configured Connections such as GitLab
/api/v4/..., Eve should not ask for PATs or bearer tokens; it should use connection-backed provider tooling and ask the user to configure or reauthorize the Connection if needed -
When Team Wiki writes are enabled (
wiki.write_enabledistruein AppConfig), save only user-contributed facts, caveats, data quality warnings, domain conventions, or historical context that are specific to a scanned data entity and not derivable from the data itself. Do not save questions, commands, ephemeral dialogue, opinions, or Eve’s own analysis. - Resource safeguards: avoid full scans/cross joins; stop if thresholds are exceeded
Configuration
Configuration
- Slack: activation, allow-list, channels
- Databases: connections, harvest inclusions/exclusions, intervals
- Workspaces: target schema/stage for outputs
- Exports: default formats (CSV/XLSX/Sheets), naming conventions, storage locations
- Web/Docs: SERPer key (optional), Drive service account JSON (optional)
Orchestration Diagram
Orchestration Diagram

