Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Create and launch Toingg voice-calling campaigns by POSTing user-supplied JSON to the toingg/make_campaign API. Use when Codex needs to turn campaign briefs...
Create and launch Toingg voice-calling campaigns by POSTing user-supplied JSON to the toingg/make_campaign API. Use when Codex needs to turn campaign briefs...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
This skill bundles everything needed to manage Toingg campaigns from Claw: Campaign creation via create_campaign.py Campaign discovery via fetch_campaigns.py when you need to list active IDs for users On-demand calls via make_call.py (after collecting name, phone, and campaign) Optional analytics cron (7β―PM daily) powered by get_campaign_analytics.py Contact upload + WhatsApp broadcast using xlsx_to_contacts.py, add_contacts.py, and send_whatsapp_templates.py All HTTP calls reuse the TOINGG_API_TOKEN bearer token.
Export your token in every environment that runs these scripts (gateway, cron, terminals). export TOINGG_API_TOKEN="tg_..." Install Python deps once if you will ingest Excel files: pip install openpyxl requests Keep payloads (campaign JSON, analytics snapshots, contact exports) in version control or shared storage per your security rules.
Use this whenever the user wants to see active campaigns or needs a campaign ID before launching a call. Ask whether they already know the campaign ID. If not, offer to fetch the latest list (default pagination is fine unless they request a different page size). Run: ./scripts/fetch_campaigns.py --skip 0 --limit 10 --sort -1 > responses/campaigns-$(date +%s).json Adjust --skip/--limit/--sort if the user needs deeper pages or a different ordering. Summarize the response back to the user: surface at least campID, name, status, and any relevant dates so they can choose confidently. Store the JSON output when ongoing work depends on the snapshot.
When the user asks you to place a call, gather three pieces of information before touching the API: Caller name (string shown in Toingg logs). Phone number in international format. Campaign selection. If they do not supply a campaign, ask whether they want the latest list. Use the campaign discovery workflow above to provide options, then confirm their pick. Once those details are confirmed, trigger the API: ./scripts/make_call.py "Recipient Name" +919999999999 64fd3f9... The helper always sends asr=AZURE, startMessage=true, clearMemory=false, and extraParams={} per the product teamβs defaults. Echo the API response (success or failure) back to the user so they know the call status.
Gather campaign fields from the user (title, voice, language, script, purpose, tone, post-call schema, notification numbers, autopilot flags, etc.). Draft a payload JSON using references/payload-template.md as the scaffold. Run the helper: cd skills/toingg-create-campaign ./scripts/create_campaign.py payloads/my_campaign.json > responses/create-$(date +%s).json Return the API response (campaign ID, status, or validation errors) to the user and log it.
Only offer this when the user explicitly asks for daily analytics. Confirm desired schedule/output directory. Follow references/analytics-cron.md to create openclaw cron create toingg-analytics-digest ... with the provided command snippet. Adjust paths if needed. Double-check TOINGG_API_TOKEN is visible to the gateway before enabling the cron. After the first run, share where the JSON snapshots live and how to disable the cron (openclaw cron delete ...). get_campaign_analytics.py can also be run ad-hoc for on-demand pulls: ./scripts/get_campaign_analytics.py > analytics.json
When a user supplies an Excel sheet (name / phone / context columns) and wants to blast a WhatsApp template: Convert Excel β JSON ./scripts/xlsx_to_contacts.py ~/Downloads/leads.xlsx contacts.json See references/contact-workflow.md for the exact column expectations and troubleshooting. The script skips blank rows and normalizes phone numbers. Upload contacts to a Toingg contact list (auto-creates if missing): ./scripts/add_contacts.py ClawTest contacts.json Send WhatsApp templates once the list is ready: ./scripts/send_whatsapp_templates.py \ 231565687 \ bfesfbgf \ en-US \ ClawTest \ --payload template-variables.json Omit --payload (defaults to []) if the template has no variables. Pass --resend only when the user explicitly wants to re-contact existing recipients. Confirm delivery status in Toingg and report any errors back to the user (the helper prints full JSON responses for logging).
ScriptPurposescripts/create_campaign.pyPOST /api/v3/create_campaign with arbitrary payloadsscripts/fetch_campaigns.pyGET /api/v3/get_campaigns for quick campaign listingsscripts/make_call.pyPOST /api/v3/make_call once you have name/phone/campaignscripts/get_campaign_analytics.pyGET /api/v3/get_campaign_analytics (cron-friendly)scripts/xlsx_to_contacts.pyConvert Excel sheets into Toingg contact JSONscripts/add_contacts.pyUpload contact lists via /api/v3/add_contactsscripts/send_whatsapp_templates.pyTrigger /api/v3/send_whatsapp_templates Keep this toolkit lightweight: update the references when Toingg adds new fields or workflows so other operators can follow the same patterns.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.