Upwork Job Search Voice AI Ability for OpenHome#109
Upwork Job Search Voice AI Ability for OpenHome#109khushi0433 wants to merge 11 commits intoopenhome-dev:devfrom
Conversation
🔀 Branch Merge CheckPR direction: ✅ Passed — |
❌ Ability Validation Failed📚 How to fix
|
🔍 Lint Results🔧 Auto-formattedSome files were automatically cleaned and formatted with
✅
|
133227a to
434b7a4
Compare
|
hey thanks for the view the error was an indentation error in main.py which i fixed it i'm still testing the new oauth implemention to remotive api to avoid the 403 error i will share the live test demo loom soon thanks again |

What does this Ability do?
Search for freelance jobs on Upwork using voice commands. Users can say a job category or skill (like "web development" or "Python programming"), and the Ability fetches the top Upwork jobs and reads them out with details like title, budget, duration, workload, and client rating.
Suggested Trigger Words
"find jobs"
"search upwork"
"upwork jobs"
"look for work"
"find freelance work"
Type
New community Ability
Improvement to existing Ability
Bug fix
Documentation update
External APIs
Uses external API(s): Upwork GraphQL API v2 (requires Upwork API credentials: Client Key & Client Secret)
Testing
Tested in OpenHome Live Editor
All exit paths tested (said "stop", "exit", etc.)
Error scenarios tested (API down, bad input, invalid query, no jobs found)
Checklist
Files are in community/upwork-job-search/
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 (UPWORK_CLIENT_KEY, UPWORK_CLIENT_SECRET)
No blocked imports (redis, connection_manager, 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?
Example conversation included in README.md
Ability uses OAuth 2.0 client credentials flow
Job results limited to top 5 for concise voice responses
loom video showing the OpenHome live editor test
https://www.loom.com/share/a5423d20600f4d96a79adf1a9581e2b6