Install
openclaw skills install wotohub-automationEnd-to-end WotoHub influencer outreach automation for product understanding, creator search, recommendation ranking, outreach email drafting, batch send, inbox review, and guarded reply assist. Use when running TikTok Shop, Amazon, or Shopify creator campaigns and you want model-first planning with script-level execution.
openclaw skills install wotohub-automationWotoHub Automation is a real creator outreach skill with OpenClaw-era integration roots and current in-place compatibility for existing workflows.
It connects:
Best fit:
Core design:
This skill is intentionally conservative around sending and reply automation.
Release note:
wotohub-automation is the only canonical publish directorywotohub-automation-release is a mirror/reference copy, not the primary release sourceIf you need deeper integration details, read:
references/integration-contract.mdreferences/runtime-guardrails.mdInstall dependencies:
pip install -r requirements.txt
Environment variables:
WOTOHUB_API_KEY, required for authenticated actions such as send, inbox access, reply handling, and campaign cyclesWOTOHUB_BASE_URL, optional explicit API base override, defaults to productionWOTOHUB_STATE_DIR, optional state/log output directoryCredential scope:
WOTOHUB_API_KEY grants access to authenticated WotoHub user-state operationsopenSearch, but authenticated endpoints cannotRuntime expectations:
ssl availableInput can come from:
Typical outputs:
Supports:
Search modes:
openSearchclawSearchSupports:
Default behavior is to stop after recommendation and wait for explicit creator selection before email generation.
Supports:
Minimum campaign brief usually needs:
productNamesenderName or signoffofferType, such as sample, paid, or affiliateDefault send path is batch-oriented.
Characteristics:
Supports:
Anything involving price, payment, contract terms, exclusivity, shipping promises, or timing commitments should stay human-reviewed by default.
Supports:
success, blocked, and failed exit semanticsSearch does not require login by default.
openSearchclawSearchThese user-side steps require WOTOHUB_API_KEY:
If you publish, install, or review this skill, treat the credential requirement as part of the primary operating contract, not an optional convenience.
Optional preflight check:
python3 scripts/preflight.py --token YOUR_API_KEY
For auth details, read appendix-auth.md.
Single entrypoint:
python3 wotohub_skill.py
Important execution note:
scripts/build_search_payload.py now also injects router executor defaults before resolving URL inputproduct_resolve.py may emit hostUrlAnalysisRequest; scripts/build_search_payload.py now attempts automatic host URL analysis execution + writeback before continuingscripts/build_search_payload.py returns a structured needsUserInput / error payload instead of crashing on analysis=NonehostAnalysis / productSummary to bypass bridge execution when they already have host-side understandingMinimal request example:
{
"requestId": "task-1",
"action": "task",
"type": "product_analysis",
"input": {
"input": "wireless earbuds with noise cancellation"
},
"auth": {
"token": "YOUR_API_KEY"
}
}
Common action/type pairs:
task/product_analysistask/searchtask/recommendtask/generate_emailtask/send_emailtask/monitor_repliescampaign/cycleRecommended injected fields:
input.hostAnalysisinput.productSummaryinput.hostDraftsinput.replyModelAnalysisRecommended executor discovery order for host URL recovery / host semantic understanding:
config.hostAnalysisExecutorbrief.hostAnalysisExecutor / brief.scheduler.hostAnalysisExecutor for cycle flowsWOTOHUB_HOST_ANALYSIS_EXECUTOR (or compatibility HOST_ANALYSIS_EXECUTOR)Recommended executor discovery order for reply understanding:
config.hostReplyAnalysisExecutor / config.hostReplyBridgeExecutorbrief.scheduler.hostReplyBridgeExecutor when reply assist is driven from campaign runtimeWOTOHUB_HOST_REPLY_ANALYSIS_EXECUTOR (or compatibility HOST_REPLY_ANALYSIS_EXECUTOR)Recommended executor discovery order for host draft generation:
config.hostDraftExecutor / config.hostBridgeExecutorbrief.scheduler.hostBridgeExecutor when scheduled generation is usedWOTOHUB_HOST_DRAFT_EXECUTOR (or compatibility HOST_DRAFT_EXECUTOR)Canonical field rule:
host_drafts_per_cyclereferences/alias-normalization-matrix.md for the current canonical vs alias mappingURL host write-back rule:
scripts/product_resolve.py returns hostUrlAnalysisRequest, treat that as the canonical host-side recovery trigger for weak or blocked URL pageshostAnalysis + productSummary, then rerun the same task/product_analysis, task/search, task/recommend, or task/generate_email requestinput.hostAnalysis + input.productSummary; metadata.* / config.* remain compatibility surfaces onlypython3 scripts/product_resolve.py --input <url> currently only emits hostUrlAnalysisRequest; it does not auto-run browser/web recovery or auto-apply write-backhostAnalysisExecutor, not in the bare product_resolve.py pathTrust boundary:
Full integration details: references/integration-contract.md
Third-party quickstart: references/third-party-integration-guide.md
One-command launchers:
run_skill_with_router.pyrun_cycle_via_skill.py (now auto-wires router defaults for cycle runs)
Executor templates:scripts/host_executor_router.py (single-entry router for analysis / reply / drafts)scripts/host_analysis_executor_example.pyscripts/host_reply_analysis_executor_example.pyscripts/host_draft_executor_example.pyscripts/host_model_bridge_executor_example.py (cycle-oriented draft bridge example)Read steps/01-product-analysis.md
Suggested path:
python3 scripts/product_resolve.py --input "推广一款美国市场的电动牙刷,价格$50,强调美白和口腔护理"
Read steps/02-influencer-search.md
Suggested path, build payload first, then run search:
python3 scripts/build_search_payload.py --input '推广一款美国市场的电动牙刷,价格$50,强调美白和口腔护理'
python3 scripts/claw_search.py --payload-file /tmp/woto_payload.json
Or use one-shot execution:
python3 scripts/build_search_payload.py --input '...' --run-search
python3 scripts/build_search_payload.py --input '...' --run-search --token YOUR_API_KEY
Read steps/03-influencer-recommend.md
The default flow returns a shortlist first, then waits for explicit creator selection.
Read steps/04-email-generation.md
Recommended only after:
Read steps/05-send-email.md
Send protocol:
prepare_only, prepare candidate emails onlymanual_send, send after human confirmationscheduled_send, send automatically in scheduled flowsDefault behavior:
prepare_onlyscheduled_send, which is the default real-send path for scheduled flowsRead steps/06-inbox-management.md
Main path:
scheduled_cycle, stop at waiting_for_host_analysis if the search leg lacks valid hostAnalysis--host-analysis-bridge-executor or emitted hostAnalysisRequest over stuffing near-final search payloads into the briefneedsUserInput=truehostUrlAnalysisRequest to obtain hostAnalysis / productSummary before falling back to user-supplied product fieldsinput.hostAnalysis + input.productSummary, then rerun the same task so the existing routing and compiler chain can continue naturallySKILL.md and the bundled Markdown prompt/reference files in this release, with no unicode bidi or control-character findings.wotohub_skill.py, skill entry adapterrun_campaign.py, public campaign entryrun_campaign_cycle.py, single-cycle scheduled entryrun_cycle_via_skill.py, short safe wrapper for cron / scheduler runs that should avoid complex inline JSON or heavy Python CLI quotingUseful scheduled bridge flags on run_campaign_cycle.py:
--host-analysis-bridge-executor--host-analysis-bridge-request--host-analysis-bridge-payload--host-bridge-executor--host-bridge-request--host-bridge-payloadUseful docs:
steps/01-product-analysis.mdsteps/02-influencer-search.mdsteps/03-influencer-recommend.mdsteps/04-email-generation.mdsteps/05-send-email.mdsteps/06-inbox-management.mdreferences/campaign-brief-schema.mdreferences/model-analysis-schema.mdreferences/conversation-analysis-schema.mdreferences/outreach-email-schema.mdreferences/search-params.mdreferences/integration-contract.mdreferences/runtime-guardrails.mdWotoHub Automation is a creator outreach skill for real marketing operations: model-first understanding, script-first execution, stable core workflows, and explicit safety boundaries around send and reply behavior.