This project is a production-grade LinkedIn automation system designed for safe, scalable outreach, prospecting, and campaign operations across multiple accounts. It combines session planning, controlled execution, and centralized monitoring to keep activity stable while supporting messaging, connections, and workflow automation.
Created by Appilot, built to showcase our approach to Automation!
If you are looking for custom linkedin automation outreach system , you've just found your team — Let’s Chat.👆 👆
Operating LinkedIn campaigns at scale often fails when accounts share environments, actions overlap, or timing looks automated. This system introduces structured account planning, queue-based execution, and safety layers that keep activity paced and separated per account, while providing a dashboard to manage sessions, actions, and exports.
- Enables consistent outreach without manual repetition
- Keeps accounts separated through session and IP planning
- Prevents action spikes using concurrency caps and job queues
- Improves operational visibility with logs, exports, and monitoring
| Feature | Description |
|---|---|
| Device & Account Planning | Defines account groups, IP distribution strategy, and concurrency limits for stable scaling. |
| Session Control Dashboard | Manages account sessions and job status from a centralized control panel. |
| LinkedIn Action Engine | Automates login, browsing, connection requests, messaging, posting, and data collection with paced execution. |
| Queue-Based Scaling | Uses rotating queues so actions don’t overlap across accounts or trigger detection thresholds. |
| Monitoring & Exports | Centralized error logs, action results, and exportable reports for auditing and tracking. |
| Safety Layers | Adds interval rules, delay randomization, and behavior mixing to reduce restriction risk. |
| Trigger / Input | Core Automation Logic | Output | Safety Controls |
|---|---|---|---|
| Account onboarding | Assign proxy/SIM plan and concurrency caps | Accounts grouped and ready | Environment separation |
| Session start | Start isolated session per account | Active session | Token/cookie validation |
| Job queue intake | Ingest outreach and connection jobs | Tasks queued | Per-account quotas |
| Action execution | Run actions via automation engine | Messages / connections / posts | Pacing + cooldown |
| Monitoring | Track errors and results | Logs + exports | Auto-pause on anomalies |
| Scaling | Rotate accounts through queues | Continuous throughput | Overlap prevention |
- Backend: Python (FastAPI)
- Automation: Puppeteer (web automation) + optional real-device control for mobile flows
- Queue & Scheduling: Redis + worker processes
- Database: PostgreSQL (accounts, sessions, jobs, logs)
- Dashboard: React-based control panel
- Networking: Proxy rotation with per-account IP assignment
- Monitoring: Structured logs + exportable CSV reports
linkedin-automation/
api/
routes.py
auth.py
exports.py
core/
planner.py
quota_manager.py
job_queue.py
safety_rules.py
automation/
puppeteer_runner.js
actions/
login.js
browse.js
connect.js
message.js
post.js
scrape.js
dashboard/
app.py
components/
AccountSessions.js
JobQueue.js
ActivityLogs.js
integrations/
proxy_manager.py
config/
settings.yaml
accounts.yaml
data/
exports/
results.csv
logs/
events.log
scripts/
run_workers.py
start_dashboard.py
package.json
- Sales teams use it to run LinkedIn outreach campaigns, so they can maintain daily prospecting volume safely.
- Recruiters use it to automate connection requests and messaging, so they can scale candidate sourcing.
- Agencies use it to manage multiple client accounts, so they can prevent overlaps and maintain separation.
- Marketing teams use it to automate engagement and posting workflows, so they can stay consistent without manual effort.
Q: How do you prevent accounts from overlapping actions?
The system uses per-account queues, concurrency caps, and rotation rules to ensure actions never collide across accounts.
Q: What’s the difference between dashboard control and automation execution?
The dashboard manages sessions, quotas, and job status, while the action engine executes tasks with pacing and safety rules.
Q: Can this run across many accounts?
Yes. The architecture supports large multi-account setups with account grouping, IP distribution, and isolated sessions.
Q: What happens when restrictions or errors occur?
The system logs the event, triggers cooldown/backoff, and can auto-pause accounts for remediation.
- Action success rate: 90–94% depending on network quality and account health
- Messaging throughput: 15–40 messages/hour per account with safety rules enabled
- Connection throughput: 10–25 requests/day per account (configurable caps)
- Scalability: 100–300 accounts per cluster (resource dependent)
- Resource usage: ~200–450 MB RAM per active browser session
- Recovery behavior: Automatic retries with exponential backoff and account cooldowns
