Three progressively more powerful e-commerce AI assistants built with Google Agent Development Kit (ADK) and StackOne, demonstrating different approaches to connecting AI agents with business systems.
ecom_assistant_v1/ → 17 curated read-only tools (simplest)
ecom_assistant_v2/ → 2 meta-tools: search + execute (read/write)
ecom_assistant_v3/ → 4 MCP tools via Discode code sandbox (most powerful)
Single LlmAgent with 17 hand-picked read-only tools loaded upfront. Fires all tools in parallel for fast dashboards and briefings.
Connected systems: Shopify, Salesforce, Snowflake, Gmail, Google Calendar, Workday, Ashby
Best for: "Give me my daily briefing" — pulls data from all systems in one shot.
Trade-off: Read-only. Must know which tools you need at build time.
Single LlmAgent with 2 meta-tools (tool_search + tool_execute) from the StackOne SDK. Discovers and runs any of the ~662 available tools at runtime.
Best for: Action-oriented tasks — "Check the risk score for Cox Intelligence, then create a Salesforce task to follow up on their overdue payment."
Trade-off: Slower per operation (search then execute), but unlimited tool access including writes.
Single LlmAgent connected to a Discode MCP server via Streamable HTTP. The agent writes TypeScript code that calls any tool, processes data, and chains operations — all in a single execution.
Best for: Complex cross-system workflows — "Pull Shopify orders, Salesforce deals, and Snowflake risk scores in one code block, then cross-reference high-risk customers with recent orders."
Trade-off: Requires the agent to write correct code, but can do parallel calls, data joins, and transformations that are impossible in V1/V2.
- Python 3.11+
- uv (recommended) or pip
- Google AI API key (aistudio.google.com)
- StackOne API key (stackone.com)
uv venv && source .venv/bin/activate
uv pip install -e .Create .env with your API keys:
GOOGLE_API_KEY=your_google_ai_key
GOOGLE_GENAI_USE_VERTEXAI=FALSE
STACKONE_API_KEY=your_stackone_api_key
Create .env.accounts with your StackOne account IDs:
STACKONE_SALESFORCE_ACCOUNT_ID=...
STACKONE_WORKDAY_ACCOUNT_ID=...
STACKONE_GOOGLE_CALENDAR_ACCOUNT_ID=...
STACKONE_ASHBY_ACCOUNT_ID=...
STACKONE_SHOPIFY_ACCOUNT_ID=...
STACKONE_SNOWFLAKE_ACCOUNT_ID=...
STACKONE_GMAIL_ACCOUNT_ID=...
For V3, update the Discode MCP token in ecom_assistant_v3/agent.py.
adk web . --port 8000Open http://localhost:8000/dev-ui/ and select an agent from the dropdown.
- "Give me my daily briefing"
- "Show me all high-risk customers and their recent Shopify orders"
- "What deals are closing this month?"
- "Check the risk score for Cox Intelligence in Snowflake, then create a Salesforce task to follow up on their overdue payment"
- "Find recent Shopify orders over $1000 and email the customers a thank you"
- "What's on my calendar today?"
- "Pull Shopify orders and Snowflake customer risk scores in a single code execution, then cross-reference which customers with recent orders are flagged as high risk"
- "Write code that queries Salesforce deals and groups them by owner with total pipeline value"
- "List all connected systems and their tool counts"
- Google ADK — Agent framework with
LlmAgent, tool management, and dev UI - Gemini 3 Flash — LLM powering all agents
- StackOne — Unified API connecting Shopify, Salesforce, Snowflake, Workday, Ashby, Gmail, Google Calendar
- Discode — MCP-based TypeScript code execution sandbox (V3 only)