| name | whatsapp-mass-sender-group-marketing |
| description | Automate WhatsApp mass messaging, group marketing, and TikTok/Instagram follower extraction for targeted outreach campaigns |
| triggers | ["how do i set up whatsapp mass sender","automate instagram follower extraction","send bulk whatsapp messages to groups","extract tiktok competitor followers","configure whatsapp marketing automation","scrape instagram users by hashtag","setup automated social media lead generation","bulk message whatsapp contacts"] |
WhatsApp Mass Sender & Group Marketing System
Skill by ara.so — Marketing Skills collection.
Overview
This project provides automated tools for multi-platform social media marketing, focusing on:
- WhatsApp bulk messaging and group marketing campaigns
- TikTok & Instagram follower extraction from competitor accounts
- Automated engagement (likes, comments, follows, DMs)
- Lead filtering by demographics, activity, and AI-based criteria
- Cross-platform automation for social media growth
Primary use cases:
- E-commerce stores running targeted outreach
- Marketing agencies managing multiple client accounts
- MCN organizations building follower bases
- Affiliate marketers finding warm leads
Installation
Based on the project structure, this appears to be a service-based system rather than self-hosted code. Access is provided through:
https://www.facebook18.com
https://sites.google.com/view/facebook-script-custom/
https://sites.google.com/view/instagram-keyword-hashtag-lead/
Environment Setup
Store credentials securely using environment variables:
WHATSAPP_API_KEY=your_api_key_here
WHATSAPP_PHONE_NUMBER=+1234567890
INSTAGRAM_USERNAME=your_username
INSTAGRAM_PASSWORD=your_password
TIKTOK_SESSION_TOKEN=your_session_token
PROXY_SERVER=http://proxy.example.com:8080
Core Features & Configuration
1. WhatsApp Mass Messaging
Bulk message sending to contacts or groups:
import os
from whatsapp_marketing import MassSender
sender = MassSender(
api_key=os.getenv('WHATSAPP_API_KEY'),
phone_number=os.getenv('WHATSAPP_PHONE_NUMBER')
)
contacts = ['+1234567890', '+0987654321']
message = "🔥 Special offer today only! Check out our new products at example.com"
sender.send_bulk_message(
recipients=contacts,
message=message,
delay_between=5,
randomize_delay=True
)
Group marketing:
groups = ['group_id_1', 'group_id_2', 'group_id_3']
sender.send_to_groups(
group_ids=groups,
message="Join our exclusive community! Link: example.com/join",
schedule_time="2026-06-01 10:00:00"
)
2. Instagram Follower Extraction
Extract followers from competitor accounts:
from instagram_scraper import FollowerExtractor
extractor = FollowerExtractor(
username=os.getenv('INSTAGRAM_USERNAME'),
password=os.getenv('INSTAGRAM_PASSWORD'),
proxy=os.getenv('PROXY_SERVER')
)
competitor_followers = extractor.get_followers(
target_account='competitor_username',
max_followers=5000,
filters={
'min_followers': 100,
'max_followers': 10000,
'is_verified': False,
'has_profile_picture': True
}
)
extractor.export_to_csv(competitor_followers, 'leads.csv')
Hashtag-based lead extraction:
hashtag_leads = extractor.search_by_hashtag(
hashtags=['fitness', 'workout', 'gym'],
engagement_filters={
'min_likes': 50,
'min_comments': 5,
'posted_within_days': 30
},
max_results=1000
)
filtered_leads = extractor.filter_by_demographics(
users=hashtag_leads,
criteria={
'age_range': [18, 35],
'gender': 'any',
'location': ['US', 'UK', 'CA']
}
)
3. TikTok User Extraction
Extract engaged users from competitor videos:
from tiktok_scraper import TikTokExtractor
tiktok = TikTokExtractor(
session_token=os.getenv('TIKTOK_SESSION_TOKEN')
)
engaged_users = tiktok.extract_engaged_users(
video_url='https://tiktok.com/@competitor/video/123456789',
extraction_type='both',
max_users=2000
)
competitor_followers = tiktok.get_profile_followers(
username='competitor_username',
max_followers=10000
)
4. Automated Engagement
Auto-follow, like, and comment:
from social_automation import EngagementBot
bot = EngagementBot(
platform='instagram',
credentials={
'username': os.getenv('INSTAGRAM_USERNAME'),
'password': os.getenv('INSTAGRAM_PASSWORD')
}
)
campaign = bot.create_campaign(
name='Competitor Targeting Q2',
actions={
'follow': True,
'like_posts': 3,
'comment': True,
'send_dm': True
},
targets=filtered_leads,
daily_limit=200,
comment_templates=[
'Great content! 🔥',
'Love this! 💯',
'Amazing post! ✨'
],
dm_template='Hi! I love your content. Check out our page @yourpage 🚀'
)
bot.run_campaign(campaign)
5. Multi-Account Management
Manage multiple social accounts:
from account_manager import MultiAccountManager
manager = MultiAccountManager()
manager.add_account('instagram', {
'username': 'account1',
'password': os.getenv('IG_ACCOUNT1_PASSWORD')
})
manager.add_account('instagram', {
'username': 'account2',
'password': os.getenv('IG_ACCOUNT2_PASSWORD')
})
manager.distribute_actions(
action_type='follow',
targets=competitor_followers,
actions_per_account=100
)
Common Patterns
Lead Generation Workflow
def automated_lead_funnel():
ig_leads = extractor.get_followers('competitor1', max_followers=5000)
tiktok_leads = tiktok.get_profile_followers('competitor2', max_followers=5000)
hashtag_leads = extractor.search_by_hashtag(['yourindustry'], max_results=1000)
all_leads = list(set(ig_leads + tiktok_leads + hashtag_leads))
qualified_leads = extractor.filter_by_demographics(
users=all_leads,
criteria={
'min_followers': 200,
'max_followers': 50000,
'has_business_account': False,
'engagement_rate': 0.02
}
)
bot.create_campaign(
name='Auto Funnel',
actions={'follow': True, 'like_posts': 2, 'send_dm': True},
targets=qualified_leads,
daily_limit=150
)
phone_numbers = extract_phone_numbers(qualified_leads)
sender.send_bulk_message(
recipients=phone_numbers,
message="Special offer for Instagram followers! Use code IG20: example.com"
)
automated_lead_funnel()
Scheduled Campaign Management
from scheduler import CampaignScheduler
scheduler = CampaignScheduler()
scheduler.add_task(
name='Daily Competitor Scrape',
function=extractor.get_followers,
args=['competitor_username'],
kwargs={'max_followers': 500},
schedule='daily',
time='09:00'
)
scheduler.add_task(
name='Morning Engagement',
function=bot.run_campaign,
schedule='daily',
time='10:00'
)
scheduler.add_task(
name='Evening Engagement',
function=bot.run_campaign,
schedule='daily',
time='18:00'
)
scheduler.start()
API Rate Limiting & Safety
Implement safe usage patterns:
from safety import RateLimiter, ActionThrottler
limiter = RateLimiter(
max_follows_per_hour=50,
max_likes_per_hour=100,
max_comments_per_hour=30,
max_dms_per_hour=20
)
throttler = ActionThrottler(limiter)
def safe_engagement(targets):
for user in targets:
if throttler.can_follow():
bot.follow_user(user)
throttler.record_action('follow')
if throttler.can_like():
bot.like_recent_posts(user, count=2)
throttler.record_action('like', count=2)
throttler.human_delay(min_seconds=10, max_seconds=30)
Troubleshooting
Account Suspension Prevention
from proxy_rotator import ProxyPool
proxy_pool = ProxyPool([
'http://proxy1.example.com:8080',
'http://proxy2.example.com:8080',
'http://proxy3.example.com:8080'
])
extractor = FollowerExtractor(
username=os.getenv('INSTAGRAM_USERNAME'),
password=os.getenv('INSTAGRAM_PASSWORD'),
proxy_pool=proxy_pool,
rotate_every_n_requests=50
)
Session Management
try:
followers = extractor.get_followers('target_account')
except SessionExpiredError:
extractor.refresh_session()
followers = extractor.get_followers('target_account')
Data Export & Integration
from exporters import DataExporter
exporter = DataExporter()
exporter.to_csv(leads, 'leads.csv', columns=['username', 'followers', 'email'])
exporter.to_json(leads, 'leads.json')
exporter.to_crm(
leads,
crm='hubspot',
api_key=os.getenv('HUBSPOT_API_KEY'),
custom_fields={'lead_source': 'Instagram Competitor Scrape'}
)
Best Practices
- Always respect platform rate limits to avoid account bans
- Use proxy rotation for large-scale extraction
- Randomize delays between actions (10-60 seconds)
- Store credentials securely in environment variables
- Monitor daily action limits (follows, likes, DMs)
- Test campaigns on small groups before scaling
- Comply with GDPR/privacy laws when collecting user data
- Use multiple accounts to distribute workload
Support & Documentation
For implementation support, contact the technical team through the official channels listed above.