B2B触达工具集:批量发送冷邮件与全球短信、采集Google Maps商户、并在触达前校验联系方式(手机/WhatsApp、邮箱、域名)。监控邮件/短信送达状态、清洗CRM联系人列表、开展端到端跨境触达活动。 Trigger: 批量冷邮件, 发邮件, 邮件打开率追踪, 企业域名邮箱, 出口商群发邮件, 全球批量短信, 双向短信回复, 短信送达报告, 跨境短信营销, Google地图商户采集, 商户数据下载, 半径线索搜索, 经销商寻源, 手机号校验, WhatsApp状态检测, 邮箱校验, 域名有效性安全检测, CRM数据清洗, 群发短信预校验, B2B触达活动
Browser
End-to-end B2B outreach toolkit combining bulk cold email, global SMS, Google Maps merchant harvesting and contact validation in one skill. Send enterprisebulk cold email campaigns and global mass SMS with two-way reply support, then monitor full delivery
Try itB2B outreach toolkit: send bulk cold email and global SMS, harvest Google Maps merchants, and validate contact info (phone/WhatsApp, email, domain) before reaching out. Monitor email/SMS delivery status, cleanse CRM contact lists, and run end-to-end cross-border outreach campaigns. Trigger: bulk cold email, email send, email open rate tracker, business domain emails, mass mail for exporters, global bulk SMS, two-way SMS replies, SMS delivery reports, cross-border SMS marketing, Google maps business scraper, merchant data download, radius-based lead search, distributor sourcing, phone number validation, WhatsApp status check, email address validation, domain validity security check, CRM data cleansing, bulk SMS pre-verification, B2B outreach campaign
What it does
B2B outreach toolkit: send bulk cold email and global SMS, harvest Google Maps merchants, and validate contact info (phone/WhatsApp, email, domain) before reaching out. Monitor email/SMS delivery status, cleanse CRM contact lists, and run end-to-end cross-border outreach campaigns. Trigger: bulk cold email, email send, email open rate tracker, business domain emails, mass mail for exporters, global bulk SMS, two-way SMS replies, SMS delivery reports, cross-border SMS marketing, Google maps business scraper, merchant data download, radius-based lead search, distributor sourcing, phone number validation, WhatsApp status check, email address validation, domain validity security check, CRM data cleansing, bulk SMS pre-verification, B2B outreach campaign
The skill document
B2B Outreach
Aggregate skill for outbound engagement: email + SMS + map merchant harvesting + contact validation. 11 scripts, flat layout (no indexes - script count is small enough to list directly).
Overview
Four capability groups:
| Group | Scripts | Purpose |
|---|---|---|
| mail_send, mail_task_list, mail_task_record_list | Bulk cold email + delivery tracking | |
| SMS | sms_send, sms_task_list, sms_task_record_list | Global SMS (two-way) + delivery tracking |
| Map merchants | merchants_search, geography_list | Google Maps business data harvesting |
| Validation | phone_validity_check, email_validity_check, domain_validity_check | Clean/verify contacts before outreach |
Running Scripts
Environment Setup
- Check Python:
python --version - Install dependencies:
pip install -r requirements.txt
Script directory: scripts/*.py
Important: Always use direct script invocation like python scripts/mail_send.py. Do NOT use shell compound commands like cd scripts && python mail_send.py.
Scripts
mail_send.py - Send emails
Send emails to one or many recipients.
- Parameters: See Email Send API
python scripts/mail_send.py \
--subject "Test Email" \
--content "This is the email content" \
--emails '["recipient@example.com"]'
mail_task_list.py - Email task list
View email tasks with optional time-range / status filter.
- Parameters: See Email Task List API
python scripts/mail_task_list.py --page_no 1 --page_size 10
mail_task_record_list.py - Email task records
View delivery records for a specific email task.
- Parameters: See Email Task Record List API
python scripts/mail_task_record_list.py --task_id 1496 --page_no 1 --page_size 10
SMS
sms_send.py - Send SMS
Send SMS to phone numbers; --channel_type 1 enables two-way (reply) mode.
- Parameters: See SMS Send API
python scripts/sms_send.py \
--content "This is SMS content" \
--phones '["13800138000"]'
sms_task_list.py - SMS task list
- Parameters: See SMS Task List API
python scripts/sms_task_list.py --page_no 1 --page_size 10
sms_task_record_list.py - SMS task records
- Parameters: See SMS Task Record List API
python scripts/sms_task_record_list.py --task_id 1496 --page_no 1 --page_size 10
Map Merchants
merchants_search.py - Merchant search
Search Google Maps merchants by keywords + location. Two modes: country/province/city search, or nearby (lat/lon + radius via geoDistance).
- Parameters: See Merchants Search API
python scripts/merchants_search.py \
--params '{"keywords":["restaurant"],"countryCodes":["BR"]}' \
--query_count 100
geography_list.py - Geography list
Get country/province/city IDs to build merchants_search parameters.
python scripts/geography_list.py --type country
python scripts/geography_list.py --type province --country_id 1
python scripts/geography_list.py --type city --country_id 1
- Country list: country-list | Province list: province-list | City list: city-list
Contact Validation
phone_validity_check.py - Phone validity
Check phone validity, type, and WhatsApp registration status.
- Parameters: See Phone Validity API
python scripts/phone_validity_check.py --phones "+8613812345678 +14155551234"
email_validity_check.py - Email validity
Check email address validity / deliverability.
- Parameters: See Email Validity API
python scripts/email_validity_check.py --emails "a@example.com b@example.com"
domain_validity_check.py - Domain validity
Check domain validity and security.
- Parameters: See Domain Validity API
python scripts/domain_validity_check.py --domains "example.com foo.org"
Core Workflow: Validate Before Outreach
The signature workflow this aggregate enables (clean -> reach -> monitor):
- Collect contacts - export from CRM, or harvest via
merchants_search(map), or receive fromb2b-lead-generation(decision-maker lookup). - Validate & cleanse - run
phone_validity_check/email_validity_check/domain_validity_checkto drop invalid contacts. (Reduces wasted sends & fees.) - Reach out -
mail_send(cold email) and/orsms_send(global SMS, two-way for replies). - Monitor delivery -
mail_task_list/sms_task_list->*_task_record_listto check delivery status.
Validation is itself billable - but it is far cheaper than sending to dead contacts. Inform the user of the validation cost first.
API Key and Top-up
This skill requires an API key, stored in ~/.upkuajing/.env:
cat ~/.upkuajing/.env
UPKUAJING_API_KEY=your_api_key_here
API Key Not Set
First check if ~/.upkuajing/.env has UPKUAJING_API_KEY. If not, prompt the user to choose:
- User has one: user provides it (manually add to
~/.upkuajing/.env) - User doesn't have one: apply via
auth.py --new_key(auto-saved to~/.upkuajing/.env)
Wait for user selection.
Account Top-up
When API response indicates insufficient balance:
- Create top-up order (
auth.py --new_rec_order) - Send the payment page URL to the user, guide them to open & pay; proceed after they confirm success.
Get Account Information
python scripts/auth.py --account_info
Newly applied keys must be registered/bound at UpKuaJing Open Platform.
Fees
Send/search/validate calls incur fees; task list & record list queries are free.
Latest pricing: visit Detailed Price Description, or run:
python scripts/auth.py --price_info
(returns complete pricing for all interfaces - the aggregate auth.py queries the full price list and falls back to per-original-skill lookup if needed.)
Billing rules (summary)
- Email/SMS send: charged per send request, cost scales with recipient count.
- Merchant search: billed by calls, each returns up to 100 records -> calls =
ceil(query_count / 100). - Phone/email/domain validity: charged per check (per number/email/domain).
- Free:
geography_list; all*_task_list/*_task_record_list. - Per-interface billing detail lives in the corresponding
references/-api.md.
Fee Confirmation Principle
Any operation that incurs fees must first inform the user and wait for explicit confirmation in a separate message. Do not execute in the same message as the notification. When query_count exceeds one page, inform the user of the expected number of calls first.
Error Handling
- API key invalid/non-existent: check
UPKUAJING_API_KEYin~/.upkuajing/.env - Insufficient balance: guide user to top up
- Invalid parameters: must first check the corresponding API doc in
references/- get correct parameter names/formats from documentation, do not guess
API Documentation Reference
- email-send | email-task-list | email-task-record-list
SMS
- sms-send | sms-task-list | sms-task-record-list
Map merchants
- merchants-search | country-list | province-list | city-list
Validation (prefixed validity- to distinguish from email-send docs)
- validity-phone | validity-email | validity-domain
Notes
- Email/SMS send is synchronous submission, asynchronous delivery: the API returns immediately; check
statusvia task records. Email status:0-pending1-sending2-completed. SMS status:1-sending2-completed3-failed4-partial. task_data/stores results under UUID subdirectories.- Country codes use ISO 3166-1 alpha-2 (e.g., CN, US, BR). Map search keywords/industries should be in English.
- File paths use forward slashes on all platforms.
- Prohibit outputting technical parameter format: convert code-style params to natural language in responses.
- Do not estimate per-call fees - use
auth.py --price_infofor accurate pricing. - Do not guess parameter names - read the
references/-api.mdfirst.
Related Skills
Other UpKuaJing skills you might find useful:
- b2b-lead-generation - Customs trade intelligence, global-company deep due-diligence, LinkedIn professional data (find leads to outreach to)
- upkuajing-email-tool - Standalone email send & task tracking
- upkuajing-sms-tool - Standalone SMS send & task tracking
- upkuajing-map-merchants-search - Standalone Google Maps merchant harvesting
- upkuajing-contact-info-validity-check - Standalone contact info validity check (phone/email/domain)
- upkuajing-customs-trade-company-search (= upkuajing-trade-company-search) - Search companies with real customs trade records
- upkuajing-company-people-search (= upkuajing-global-company-people-search) - Quick shallow company/person lookup + contact info
Related skills
Send emails through UpKuaJing's API and track each task from submission to completion.
Verify phone numbers, emails, and domains via the UpKuaJing Open Platform API in one skill.
Automates B2B account discovery and personalized email generation using the Alpha Ceema database via direct API access.
Verify email validity and format, cut email bounce‑rates and clean contact lists for exporters, recruiters and B2B sales teams. Trigger: email address validation, reduce email bounce rate, email‑list scrubbing, CRM data cleansing, cold outreach optimization
Send SMS and track per‑task delivery status via the UpKuaJing Open Platform API.