Skip to content

Add Multi Platform Sales Monitor#250

Closed
ammyyou112 wants to merge 7 commits intoopenhome-dev:devfrom
ammyyou112:add-sales-monitor-final
Closed

Add Multi Platform Sales Monitor#250
ammyyou112 wants to merge 7 commits intoopenhome-dev:devfrom
ammyyou112:add-sales-monitor-final

Conversation

@ammyyou112
Copy link
Copy Markdown
Contributor

What does this Ability do?

Voice-activated sales dashboard for Gumroad and Shopify. Users can check real-time revenue, compare platforms, track best sellers, analyze sales trends, and monitor customer counts with natural voice commands. Uses LLM-based intent classification to understand phrases like "how's business been" or "what did I pull in today".

Suggested Trigger Words

  • "check my sales"
  • "online sales"
  • "sales revenue"
  • "my revenue"
  • "shopify sales"
  • "gumroad sales"
  • "store sales"
  • "how much did I make"
  • "sales dashboard"
  • "business sales"

Type

  • New community Ability
  • Improvement to existing Ability
  • Bug fix
  • Documentation update

External APIs

  • No external APIs
  • Uses external API(s):
    • Gumroad API v2 - https://api.gumroad.com/v2/sales (requires access token from https://app.gumroad.com/settings/advanced)
    • Shopify Admin REST API v2024-01 - https://{shop}.myshopify.com/admin/api/2024-01/orders.json (requires shop URL + Admin API access token)
    • Both APIs are FREE to use (Gumroad: 100 requests/hour, Shopify: 2 requests/second)

Testing

  • Tested in OpenHome Live Editor
  • All exit paths tested (said "stop", "exit", "thanks", etc.)
  • Error scenarios tested (API down, missing credentials, zero sales, etc.)

Checklist

  • Files are in community/multi-platform-sales-monitor/
  • main.py follows SDK pattern (extends MatchingCapability, has # {{register_capability}} + call)
  • README.md included with description, suggested triggers, and setup
  • resume_normal_flow() called on every exit path
  • No print() — using editor_logging_handler
  • No hardcoded API keys — using placeholders
  • No blocked imports (redis, user_config)
  • No asyncio.sleep() or asyncio.create_task() — using session_tasks
  • Error handling on all external calls
  • Tested in OpenHome Live Editor

Anything else?

Key Features:

  • LLM Intent Classification: Uses text_to_text_response() to understand natural phrases like "how's business been" or "what did I pull in today"
  • Shortened Dashboard: Opens with headline ("Today you're at $477 from 6 sales. Want the full breakdown?")
  • Smart Breakdown: Say "yes/sure/go ahead" to get comprehensive stats (week/month/platforms/best seller)
  • Varied Prompts: Rotates through 5 different follow-up phrases to feel less robotic
  • Paced Responses: Multi-number responses split into separate speak calls for better comprehension
  • Platform-Specific Detection: "Check Shopify sales" only reports Shopify, not both platforms
  • Multi-Intent Support: Total sales, platform breakdown, best seller, trends, customer count, digital vs physical
  • Time-Based Queries: Yesterday, this week, this month, all-time (past year)
  • Voice-Optimized: Formats as "477 dollars" not "$477.00"
  • SDK-Compliant: Uses delete-then-write pattern for file storage

Conversation Example:

User: "Check my online sales"
AI: "Today you're at 477 dollars from 6 sales. Want the full breakdown?"

User: "Yes"
AI: "This week you're at 477 dollars, and this month 477 dollars."
AI: "Today, Gumroad's at 177 dollars and Shopify's at 300 dollars."
AI: "Your best seller this month is Logo T-Shirt with 2 units."
AI: "Anything else?"

User: "What about Shopify?"
AI: "Shopify's at 300 dollars from 3 orders."
AI: "Want to know more?"

User: "Check trends"
AI: "You're up 15 percent compared to yesterday."
AI: "What else would you like to know?"

User: "Thanks"
AI: "Okay, talk to you later!"

Loom Demo: [Add your Loom link here after recording with real API data]


📋 Files Included:

community/multi-platform-sales-monitor/
├── main.py
├── README.md
└── __init__.py

@ammyyou112 ammyyou112 requested a review from a team as a code owner April 15, 2026 11:09
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 15, 2026

✅ Community PR Path Check — Passed

All changed files are inside the community/ folder. Looks good!

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 15, 2026

🔀 Branch Merge Check

PR direction: add-sales-monitor-finaldev

Passedadd-sales-monitor-finaldev is a valid merge direction

@github-actions github-actions bot added the community-ability Community-contributed ability label Apr 15, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 15, 2026

✅ Ability Validation Passed

📋 Validating: community/multi-platform-sales-monitor
  ✅ All checks passed!

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 15, 2026

🔍 Lint Results

__init__.py — Empty as expected

Files linted: community/multi-platform-sales-monitor/main.py

❌ Flake8 Errors (could not be auto-fixed)

community/multi-platform-sales-monitor/main.py:72:11: E999 SyntaxError: invalid decimal literal

Fix the remaining issues and push again. The lint will re-run automatically.

@ammyyou112 ammyyou112 force-pushed the add-sales-monitor-final branch from 3598fd3 to 388fd00 Compare April 15, 2026 11:13
@uzair401 uzair401 closed this Apr 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-ability Community-contributed ability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants