name: survey-passing description: "Find and complete paid expert surveys from expert network platforms (Arbolus, Guidepoint, GLG, AlphaSights, Techsponential) using the user's real professional background. Automates the mechanical form-filling of expert consultations that pay $50-$100+. Use this skill whenever the user mentions surveys, canopy, expert consultations, Arbolus, Guidepoint, GLG, AlphaSights, 'find surveys', 'check surveys', 'complete survey', 'paid survey', 'expert network', 'canopy reward', or any reference to survey rewards/honorariums. Also activate when the user asks to check Gmail for survey invitations or mentions earning money from expertise sharing." metadata: version: 1.0.3 tags: survey, expert-network, arbolus, guidepoint, glg, alphasights, techsponential, canopy, paid-survey, automation, gmail
Survey Passing
Find and complete paid expert surveys/consultations from expert network platforms. The goal: meet expectations, be consistent, earn the reward, save the user time.
The user is a real domain expert who receives paid survey invitations. This skill automates the mechanical part — clicking through forms, selecting radio buttons, typing answers — using the user's genuine professional background from USER.md and MEMORY.md. The expertise is real; only the form-filling is automated.
Workflow
Step 1: Find the Survey
Option A — Check email for invitations: Search the user's Gmail for survey invitations using an authenticated method:
- Gmail MCP tools (preferred if available): Use
gmail_search_messageswith queries below - Persistent Chrome profile (fallback): Open Gmail via the user's profile. Refer to TOOLS.md for port config
Search strategies:
subject:reward surveysubject:$50 OR subject:$65 OR subject:$100from:arbolus OR from:guidepoint OR from:glgsubject:canopysubject:honorarium OR subject:compensation
Look for unread emails with dollar amounts. Open the email, find the survey/canopy link, click through.
Option B — Direct URL: If the user provides a survey URL directly, skip email search and proceed to Step 2.
Step 2: Pre-Flight Checks
Before attempting any survey, verify:
- No video/audio requirement — check for "microphone", "camera", "record", "video response" keywords. These cannot be completed by the agent. Alert the user instead.
- No AI-detection disclaimer — if the survey warns "responses generated using ChatGPT will be rejected" or similar, flag it to the user and let them decide.
- Save the survey URL — store it before starting, in case you need to recover from a timeout.
- Read the user's profile — load USER.md and MEMORY.md for personal/professional details.
- Check survey-log.md — review previous surveys for persona consistency.
Step 3: Complete the Survey
Work through the survey page by page:
- Take snapshot to identify form elements
- Answer questions using the strategy below
- Click Next/Continue
- Always take a fresh snapshot after each page transition — refs become stale
- Repeat until submission
Step 4: Log the Result
Update ~/.openclaw/skills/survey-passing/survey-log.md with the survey details (see Logging section).
Known Platforms
| Platform | Notes |
|---|---|
| Arbolus | "Quick Survey & $X Reward", "Quick canopy & $X Reward". Often video-based — check before attempting. |
| Guidepoint | Web forms, may have 50+ questions, ranking/drag-drop questions. |
| GLG | Expert network consultations. |
| AlphaSights | Expert calls and surveys. |
| Techsponential | Tech-focused surveys. |
Also look for: any email with keywords like reward, survey, consultation, expert, canopy, honorarium, compensation.
Answering Strategy
The core principle: answer as the user would — a real professional sharing genuine expertise. Don't be a robot filling out a form; think about what makes sense given the user's actual background.
Consistency is Everything
Once you establish details in a survey (company size, role, team count), maintain them throughout. Contradictions are the #1 red flag for survey quality checks. Before answering company/role questions, check survey-log.md for what was used in previous surveys on the same platform.
Rating Scales (1-5, 1-10)
Vary answers realistically. A real person doesn't rate everything 5/5 — they have genuine preferences. Mix 3s, 4s, and 5s. Occasionally a 2 for something legitimately weak. The pattern should feel like someone with opinions, not someone trying to finish fast.
NPS Questions
7-8 range is credible — a satisfied professional who can still see room for improvement. Avoid 9-10 (looks like a plant) and avoid 1-3 (why would you be using it then?).
Open-Text Fields
Write 2-3 sentences with specific details. Mention real tools, real challenges, real workflows. Generic answers like "It's a great product" are useless — the survey buyers are paying for expert insight, so give them something worth paying for.
Good: "We evaluated Snowflake alongside Databricks for our data warehouse migration last quarter. The query performance was strong for our use case (mostly analytical workloads under 500GB), but the cost model became harder to predict once we added more concurrent users."
Bad: "It works well for our needs."
Company Info
Pick a consistent profile matching the user's real background and maintain it throughout. Track in survey-log.md: company size, revenue range, team count, industry, role/title.
Multiple Choice
Select 2-3 options typically — not just one (looks lazy) and not all (looks indiscriminate). Choose what actually makes sense for the user's role.
"How Did You Hear About X"
Choose organic options: colleague recommendation, industry research, conference. Avoid "social media ad" unless that's actually plausible.
Trap Question Detection
Surveys sometimes include fake products/features to catch inattentive respondents:
- If a product name sounds unfamiliar or made-up → "Not aware" / "Have not used"
- Google the product name if unsure — real products have websites
- Better to honestly say "not aware" than guess wrong on a fake product
Browser Techniques
Standard Flow
- Take snapshot to identify form elements (radio buttons, checkboxes, text fields, dropdowns)
- Click elements via
reffrom snapshot - Type into text fields via
typeaction withref - Click "Next" / "Submit" / "Continue"
- Take fresh snapshot after every page transition
When Snapshot Fails: JavaScript Evaluate
This is the primary fallback when snapshot refs don't work (stale elements, strict mode violations, custom widgets):
// Radio button
document.querySelector('input[type="radio"][value="3"]').click()
// Checkbox
const cb = document.querySelector('input[type="checkbox"][name="option1"]')
cb.checked = true
cb.dispatchEvent(new Event('change', {bubbles: true}))
// Text field
const el = document.querySelector('textarea[name="comment"]')
el.value = 'My detailed answer here'
el.dispatchEvent(new Event('input', {bubbles: true}))
// Submit
document.querySelector('button[type="submit"]').click()
Drag-and-Drop Ranking
jQuery UI Sortable widgets need DOM manipulation:
const list = document.querySelector('.rank-drag.ui-sortable');
const items = list.querySelectorAll('li');
list.insertBefore(items[2], items[0]); // Reorder
$(list).trigger('sortupdate'); // Notify framework
Dropdowns
// Standard HTML select
const sel = document.querySelector('select[name="field"]')
sel.value = 'option_value'
sel.dispatchEvent(new Event('change', {bubbles: true}))
Custom Styled Inputs
Some surveys hide native <input> behind styled overlays:
- Click the
<label>instead - Or set value via JS:
input.checked = true; input.dispatchEvent(new Event('change', {bubbles: true}))
Stubborn Elements — Full Event Sequence
const el = document.querySelector('.target')
el.dispatchEvent(new MouseEvent('mousedown', {bubbles: true}))
el.dispatchEvent(new MouseEvent('mouseup', {bubbles: true}))
el.dispatchEvent(new MouseEvent('click', {bubbles: true}))
el.dispatchEvent(new Event('change', {bubbles: true}))
Matrix/Grid Questions
Multiple rows of radio buttons (rate each item on a scale):
- Click each row's radio individually
- Keep ratings varied across rows
- If snapshot fails (strict mode), use JS to click by row/column index
Scroll Into View
document.querySelector('.target').scrollIntoView({behavior: 'smooth', block: 'center'})
AppleScript (Last Resort)
If all browser automation fails:
osascript -e '
tell application "Google Chrome"
tell active tab of front window
execute javascript "document.querySelector(\"input[value=3]\").click()"
end tell
end tell
'
Error Recovery
When something goes wrong mid-survey, follow this checklist in order:
- Take a fresh screenshot to see current state
- Try snapshot again (page may have finished loading)
- If snapshot fails → use JavaScript evaluate
- If evaluate fails → try AppleScript
- If gateway is down → wait 60s, retry once, then ask user to restart (
openclaw gateway restart) - If survey timed out → navigate back to the saved URL
- If completely stuck → report to user with screenshot of current state
Dynamic Content / AJAX Loading
After clicking Next, wait 2-3 seconds before taking snapshot. If snapshot shows a spinner/loading state, wait and retry.
Strict Mode Violation
When snapshot resolves to multiple elements, switch to browser evaluate with specific CSS selectors (nth-child, data-* attributes) instead of snapshot refs.
Platform Quirks
- Arbolus Canopy: Often video-based. Check before attempting.
- Guidepoint: Standard web forms, sometimes 50+ questions. May have ranking/drag-drop.
- Qualtrics-based: Standard radio/checkbox. Sometimes matrix grids.
- Typeform-based: One question per page, animated transitions. Wait for animations.
- Google Forms: Standard, straightforward.
- SurveyMonkey: Standard forms, occasionally custom widgets.
Logging
After each survey attempt, update ~/.openclaw/skills/survey-passing/survey-log.md:
| Date | Platform | Sender | Topic | Reward | Status | Notes |
|------|----------|--------|-------|--------|--------|-------|
| 2026-03-11 | Arbolus | surveys@arbolus.com | Cloud Infrastructure | $65 | COMPLETED | Used VP Eng persona |
Status values: COMPLETED, PENDING, FAILED, SKIPPED (video/audio), EXPIRED
Persona Tracking
Also maintain a persona section in survey-log.md to keep answers consistent across surveys:
## Survey Persona
- **Role**: [from USER.md]
- **Company size**: [chosen range]
- **Revenue range**: [chosen range]
- **Team size**: [number]
- **Industry**: [sector]
- **Key tools mentioned**: [list]
- **Budget ranges given**: [ranges used]
Scope Boundaries
This skill is for expert network surveys where the user is genuinely the domain expert. The automation saves time on mechanical form-filling while the expertise is real.
In scope: Arbolus, Guidepoint, GLG, AlphaSights, Techsponential, and similar expert network survey platforms where the user has been invited based on their professional background.
Out of scope: Corporate competency tests, academic exams, certification tests, or any assessment designed to verify individual knowledge/competence. These serve a different purpose (assessing the person, not collecting expertise) and automating them undermines their intent.