After completing the installation, you must configure several essential settings before XSender is fully ready for use.
Below, you will find all the basic setup steps explained in a clear and structured way. By following this guide, you will understand how the system works, how each component connects, and what actions are required to make the application fully operational.
For more advanced or detailed configuration of any specific feature, you can refer to the dedicated documentation articles for that particular setup.
When you log in to the Admin Panel, you will see a Setup Checklist at the top of the dashboard.
Items in red = Not configured
Items in green = Completed
Your goal is to make everything green.

Without background jobs:
❌ Messages will NOT send
❌ Campaigns will NOT run
❌ Automations will NOT execute
Go to:
Admin Panel → Automation → Settings (⚙ icon)

On the right side, you will see Queue Worker Setup.
Open SSH terminal
Run:
crontab -eCopy the cron command shown in the VPS tab
Paste and save
This runs the Laravel scheduler every minute.
Go to cPanel → Cron Jobs
Set interval to Every Minute (* * * * *)
Copy the command from the cPanel tab
Paste and save
Note: Shared hosting may delay jobs up to 60 seconds.

Use the High Volume tab under VPS/Dedicated Server.
It provides:
Install command
Config file
Start command
Most users do NOT need this.
After setup:
Dashboard checklist turns green
Queue driver shows: database (green)
Pending jobs remain low
Go to:
Admin Panel → Gateway → Email Gateways
Click Add New

Supported:
SMTP (Most common)
SendGrid
Mailgun
AWS SES
Mailjet
Fill in:
Host (example: smtp.gmail.com)
Port (587 for TLS)
Username
Password
Encryption (TLS recommended)

Control sending speed to avoid provider blocking:
Min Delay
Max Delay
Pause After N Messages
Pause Duration
If unsure, leave empty.
After saving → Click Set as Default
Use Send Test Email to verify.
Go to:
Admin Panel → Gateway → SMS Gateways
Supported providers include:
Twilio
Nexmo
MessageBird
TextMagic
Infobip
Clickatell
Enter API credentials from your SMS provider.

Also you can use custom API to connect external application for SMS, without any developer, it's completely dynamic and secured
Use your own SIM card.
Steps:
The downloaded source code contains the Android app's APK files.
Install on phone
Scan QR code from SMS → Android Gateway Tab → Create new session
Device status turns green

Phone must stay online.
Go to:
Admin Panel → Gateway → Messaging Gateways → WhatsApp Tab
Recommended for business use.
Steps:
Create Meta App (developers.facebook.com)
Enable WhatsApp product
Get:
Access Token
Phone Number ID
Business Account ID
Paste credentials in Cloud API tab
Configure webhook URL

Uses approved WhatsApp templates.
No Meta approval needed.
Requirements:
Node.js installed
Setup xsender-whatsapp-service in your server
Steps:
Ensure service is active (pm2 status)
Go to WhatsApp Node Devices tab
Click Add Device
Scan QR from WhatsApp → Linked Devices
Status becomes Connected

Service must stay running.
Go to:
Admin Panel → Membership → Plans
Click Add New Plan

Plan Name
Price
Duration (30 = monthly)
Affiliate Commission
Carry Forward option
Pricing Page Features
ON → Users use your gateways
OFF → Users add their own credentials
For most cases if you just use saas → Keep ON. if provider then OFF.
For each channel:
Enable/Disable
Daily limit
Monthly limit
Total credits
Example Starter Plan:
SMS: 100/day
Email: 500/day
WhatsApp: 200/day
Create a free plan for onboarding.
Suggested limits:
SMS: 5/day
Email: 10/day
WhatsApp: 5/day
Helps users test before upgrading.
Easily customize which features are shown for each plan directly from the admin panel.
How It Works:
✅ Checked features appear with a checkmark on the pricing page.
❌ Unchecked features appear with a strikethrough to indicate they are not included.
Manage it from the settings add/remove the context.

Go to Admin Panel then Lead Generation.
Lead generation lets you and your users scrape business contact information from Google Maps and web sources. This is useful for finding potential customers.
To configure:
1. Set up an API key if required (some scraping methods need external API access).
2. Set daily and monthly limits per plan (in the Plan settings).
3. Users can search by business type and location to find leads.

Note: Make sure your usage complies with local data protection laws and terms of service of the data sources.
XSender includes a flexible payment system that allows you to monetize your platform using subscription plans.
You can configure:
✅ Automated (API-based) Payment Gateways
✅ Manual Payment Gateways
✅ Internal Ready-to-Use Gateways
✅ Manual Withdraw Methods for Affiliates
Go to:
Admin Panel → Gateway Options → Payment Gateway
Automated gateways connect directly with your merchant account and process payments instantly.
Customers can:
Pay online
Get automatic confirmation
Receive instant subscription activation
No manual approval required.
Examples include:
Stripe
PayPal
Razorpay
Paystack
SSL Commerz
Flutterwave
Coinbase Commerce
Instamojo
Paytm
You only need to:
Create a merchant account
Get API credentials (API Key / Secret / Webhook Secret)
Enter credentials inside the gateway settings
Enable the gateway
Once activated, users can subscribe and pay automatically.
XSender comes with pre-built gateway integration logic.
You do NOT need to code anything.
Just:
Connect your merchant account
Enable the gateway
Set as Active
The system handles:
Payment verification
Webhook validation
Subscription activation
Transaction recording
Invoice generation
This allows you to immediately monetize your SaaS platform.
Manual gateways allow you to accept payments that require admin approval.
This is useful for:
Bank Transfer
bKash / Nagad / Rocket
Western Union
Cash Payment
Country-specific methods
Admin creates a manual payment method
Admin defines required payment fields
User submits payment details
Admin verifies manually
Admin approves or rejects payment
Subscription activates after approval
No API required.
Go to:
Admin Panel → Gateway Options → Manual Payment
Click Add New
You can configure:
Method Name
Instructions (Bank details, account number, etc.)
Upload Logo
Status (Enable/Disable)
Manual gateway supports dynamic input fields.
You can create custom fields like:
Transaction ID
Sender Name
Account Number
Payment Screenshot Upload
Reference Number
This allows full flexibility for any country.
If you enable the affiliate system, users can request withdrawals.
You must create withdrawal methods manually.
Go to:
Admin Panel → Gateway Options → Withdraw Methods
Click Add New
Configure:
Method Name (Bank, PayPal, bKash, etc.)
Minimum Withdrawal Amount
Maximum Withdrawal Amount
Processing Charge (optional)
Required Fields (Account number, Email, etc.)
Affiliate users will:
Request withdrawal
Submit required details
Wait for admin approval
Receive manual payment
Admin processes payout outside the system.