Overview
ShahiAssist is a comprehensive WordPress plugin that combines a powerful support ticketing system with a self-service knowledge base. This guide will walk you through the complete installation, initial setup, and configuration process to get your support system up and running quickly.
—
System Requirements
Before installing ShahiAssist, ensure your environment meets these minimum requirements:
WordPress Environment
- WordPress Version: 6.0 or higher (tested up to 6.8)
- PHP Version: 8.0 or higher
- MySQL Version: 5.7 or higher
- PHP Extensions Required:
- Memory Limit: Minimum 128MB (256MB recommended)
- Max Execution Time: 30 seconds or higher
- File Upload Size: 10MB or higher (for ticket attachments)
- Permissions: Write access to
wp-content/uploadsdirectory - Modern Browsers: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
- JavaScript: Must be enabled for AJAX features
- Cookies: Required for user sessions
- Download the Plugin
- Upload via WordPress Admin
- Activate the Plugin
- Extract the ZIP File
- Upload via FTP
- Set Permissions
- Activate the Plugin
- Look for ShahiAssist in your WordPress admin menu
- Click ShahiAssist → Settings
- You’ll see seven settings tabs:
- Company Name: Your organization name (appears in emails and frontend)
- Support Email: Primary email for customer communication
- Define your support availability
- Displays on ticket submission pages
- Example: “Monday-Friday, 9 AM – 5 PM EST”
- Phone number (optional)
- Support URL (link to external help center)
- Social media links
- Prefix: 2-4 character identifier for tickets
- ID Length: Number of random characters after prefix (5-10)
- Default Status: Status for new tickets
- Auto-Assign: Automatically assign tickets to agents
- Guest Submissions: Allow tickets from non-registered users
- Navigate to Tickets → Categories
- Create categories like:
- Navigate to Tickets → Priorities
- Default priorities (customizable):
- Articles Per Page: Number of articles in archive view (default: 10)
- Enable Ratings: Allow helpful/not helpful votes
- Show View Counts: Display article popularity
- Related Articles: Number to show (default: 3)
- Enable AJAX Search: Live search as users type
- Search Placeholder: Custom search box text
- Minimum Characters: Trigger search after X characters (default: 3)
- Default Status: Published or Draft
- Allow Comments: Enable discussion on articles (usually disabled)
- Featured Articles: Highlight important docs on homepage
- Navigate to KB Articles → Categories
- Create logical sections:
- From Name: Sender name in emails
- From Email: Sender email address
- ✅ New ticket confirmation
- ✅ Status change alerts
- ✅ New reply from agent
- ✅ Ticket resolved notification
- ⬜ Ticket closed notification (optional)
- ✅ New ticket submitted
- ✅ Ticket assigned to agent
- ✅ Customer reply received
- ⬜ Daily digest (summary of activity)
{ticket_id}– Ticket number{customer_name}– Customer name{customer_email}– Customer email{ticket_subject}– Ticket subject{ticket_url}– Link to ticket{agent_name}– Assigned agent{company_name}– Your company name- Go to Pages → Add New
- Title: “Submit Ticket” or “Contact Support”
- Add shortcode:
[sasubmitticket] - Publish the page
- Copy the page URL
- Create new page
- Title: “My Tickets” or “Support Dashboard”
- Add shortcode:
[samytickets] - Set visibility: Private or Public (logged-in only)
- Publish and copy URL
- Create new page
- Title: “Knowledge Base”, “Help Center”, or “Documentation”
- Add shortcode:
[saknowledgebase] - Publish and copy URL
- Return to ShahiAssist → Settings → Tickets
- Scroll to “Page Assignments”
- Select the pages you just created from dropdowns
- Click Save Settings
- Can view all tickets
- Can reply to tickets
- Can change ticket status
- Can create tickets on behalf of customers
- Cannot access settings or delete tickets
- Ideal for: Frontline support staff
- All Agent capabilities, plus:
- Can assign tickets to agents
- Can delete tickets
- Can access statistics
- Can manage categories and priorities
- Cannot access plugin settings (admin only)
- Ideal for: Team leads and supervisors
- Go to Users → All Users
- Click on a user
- Change Role dropdown to:
- Click Update User
- Navigate to ShahiAssist → Settings → Roles
- Check/uncheck capabilities per role
- Custom capabilities:
- [ ] Plugin installed and activated
- [ ] Company name and support email configured
- [ ] Ticket prefix and ID format set
- [ ] At least 3 ticket categories created
- [ ] Submit Ticket page created with shortcode
- [ ] My Tickets page created with shortcode
- [ ] Knowledge Base page created with shortcode
- [ ] Pages assigned in Ticket Settings
- [ ] Email notifications enabled
- [ ] Email templates reviewed and customized
- [ ] Support hours defined
- [ ] Priority levels reviewed
- [ ] Guest submissions enabled/disabled per needs
- [ ] Auto-assignment configured
- [ ] KB categories created
- [ ] At least one support agent user created
- [ ] Test ticket submitted
- [ ] Test email notifications received
- [ ] Knowledge base article published
- [ ] REST API endpoints tested
- [ ] Webhook URLs configured
- [ ] Custom fields added
- [ ] Email SMTP configured
- [ ] CSS customizations applied
- [ ] Translation files loaded
- Visit your Submit Ticket page (not logged in)
- Fill out the form
- Submit and verify:
- Log in as admin or agent
- Open the test ticket
- Add a reply
- Verify:
- Visit KB page
- Verify layout loads correctly
- Test search functionality
- Click an article category
- View a single article
- Test rating buttons (helpful/not helpful)
- Create a test user account
- Submit tickets as that user
- Log in as test user
- Visit My Tickets page
- Verify:
- Check spam folders if emails missing
- Verify sender name and email
- Check placeholders replaced correctly
- Confirm links work
- Test on mobile email clients
- If using caching plugins (WP Rocket, W3 Total Cache):
- ShahiAssist creates custom post types (tickets, articles)
- Regular database optimization recommended
- Use plugins like WP-Optimize for maintenance
- KB article images should be optimized
- Use WebP format when possible
- Recommended tools: ShortPixel, Imagify
- Always use HTTPS for ticket submission
- Ensures data encryption in transit
- Enable SSL certificate on your server
- Review and limit admin access
- Use strong passwords for agents
- Enable two-factor authentication (2FA plugins)
- Regular WordPress backups (plugins: UpdraftPlus, BackWPup)
- Export tickets periodically (ShahiAssist → Export/Import)
- Store backups off-site
- Limit file types for attachments
- Scan uploads for malware
- Set maximum file size limits
- Install Yoast SEO or Rank Math
- Optimize article titles and meta descriptions
- Use descriptive URLs (slugs)
- Add internal links between articles
- Create XML sitemap for KB articles
- ShahiAssist adds basic schema
- Consider additional structured data for rich snippets
- Cause: PHP version too old
- Solution: Upgrade to PHP 8.0 or higher
- Check: Contact hosting provider for PHP upgrade
- Cause: PHP memory limit exceeded
- Solution: Increase memory limit in
wp-config.php: - Cause: Insufficient user permissions
- Solution: Log in as Administrator
- Check: Go to Users → Your Profile and verify role
- Cause: Page editor strips shortcodes
- Solution:
- Cause: WordPress mail() function limitations
- Solution: Install WP Mail SMTP plugin
- Configure: Use SMTP service (SendGrid, Mailgun, etc.)
- Cause: Permalink structure not flushed
- Solution:
- Cause: File permission problems
- Solution:
- Cause: Theme or plugin conflict
- Solution:
- Cause: Authentication failure
- Solution:
- This Knowledge Base: Complete feature documentation
- README.md: Technical reference in plugin folder
- USER-GUIDE.md: Administrator guide
- API.md: REST API and webhook documentation
- Online Docs: http://shahisoft.store/shahiassist/docs
- Email:
shahiassist@gec5.com - Response time: 24 business hours
- Include: WordPress version, PHP version, error messages
- CodeCanyon item comments
- WordPress.org forums (if applicable)
- GitHub issues (for developers)
- WordPress version (
Dashboard → Updates) - PHP version (
ShahiAssist → Settings → Advanced → System Info) - Active theme and plugins
- Steps to reproduce issue
- Screenshots or error messages
- Browser and version (for frontend issues)
- Edit
wp-config.php - Add these lines before “That’s all, stop editing!”:
- Reproduce the issue
- Check
wp-content/debug.logfor errors - Disable debug mode after troubleshooting
- Read Feature Documentation: Explore the “Features & How-To” guide
- Create Test Tickets: Familiarize yourself with the workflow
- Write KB Articles: Build your knowledge base content
- Train Your Team: Share the User Guide with agents
- Customize Appearance: Match your brand with CSS
- Set Up Integrations: Configure REST API or webhooks if needed
- Admin Dashboard:
/wp-admin/admin.php?page=shahi-assist - All Tickets:
/wp-admin/edit.php?posttype=saticket - Settings:
/wp-admin/admin.php?page=shahi-assist-settings - KB Articles:
/wp-admin/edit.php?posttype=sakb_article - No default users created
- Use your WordPress admin account
- Create agent accounts via Users → Add New
- Plugin folder:
/wp-content/plugins/ShahiAssist/ - Uploads:
/wp-content/uploads/shahi-assist/ - Logs:
/wp-content/debug.log(if enabled) - Email: shahiassist@gec5.com
- Docs: http://shahisoft.store/shahiassist/docs
- Version: 3.1.5
– json – For REST API and data handling
– mbstring – For multi-byte string operations
– mysqli or PDO – For database operations
– cURL – For webhook functionality
Server Requirements
Browser Compatibility
—
Installation Methods
Method 1: WordPress Admin Upload (Recommended)
This is the easiest method for most users:
– Obtain the shahiassist-v3.1.5.zip file from CodeCanyon or your download source
– Do not extract the ZIP file
– Log in to your WordPress admin dashboard
– Navigate to Plugins → Add New
– Click the Upload Plugin button at the top
– Click Choose File and select the shahiassist-v3.1.5.zip
– Click Install Now
– After installation completes, click Activate Plugin
– You’ll see “ShahiAssist” appear in your admin menu
Method 2: FTP/SFTP Upload
For users who prefer or require FTP access:
– Unzip shahiassist-v3.1.5.zip on your local computer
– You’ll see a ShahiAssist folder
– Connect to your server using an FTP client (FileZilla, Cyberduck, etc.)
– Navigate to /wp-content/plugins/
– Upload the entire ShahiAssist folder
– Ensure all files and subfolders are transferred
– Set folder permissions to 755
– Set file permissions to 644
– Ensure wp-content/uploads is writable
– Go to WordPress admin → Plugins
– Find “ShahiAssist” in the list
– Click Activate
Method 3: WP-CLI Installation
For advanced users and developers:
`bash
Navigate to your WordPress installation
cd /path/to/wordpress
Upload the ZIP to your server first, then:
wp plugin install /path/to/shahiassist-v3.1.5.zip –activate
Or if already uploaded to plugins directory:
wp plugin activate ShahiAssist
Verify activation
wp plugin list –status=active
`
—
Initial Configuration
After activation, follow these steps to configure ShahiAssist:
Step 1: Access Settings
– General
– Tickets
– Knowledge Base
– Emails
– Roles
– Integrations
– Advanced
Step 2: General Settings
Configure your support brand identity:
Company Information
– Example: “Acme Support Team”
– Example: support@yourdomain.com
– Used as “Reply-To” address in notifications
Support Hours (Optional)
Contact Information
Step 3: Ticket Settings
Configure how tickets are managed:
Ticket ID Format
– Default: SA (generates tickets like SA-ABC123)
– Examples: TKT, SUP, HELP
– Default: 8 characters
– Example: SA-AB12CD34
Default Values
– Recommended: “Open”
– Options: Round-robin, least busy, random, disabled
– Enable for public-facing support
– Disable for internal/customer-only systems
Ticket Categories
– Technical Support
– Billing Questions
– Feature Requests
– Bug Reports
– General Inquiries
Priority Levels
– Low: Non-urgent requests
– Medium: Standard support
– High: Business-impacting issues
– Urgent: System-down situations
Step 4: Knowledge Base Settings
Configure your self-service documentation:
General KB Settings
Search Configuration
– Default: “Search knowledge base…”
Article Settings
KB Categories
– Getting Started
– Features & How-To
– Troubleshooting
– Developer Resources
– FAQs
Step 5: Email Notifications
Set up automated email communications:
From Settings
– Example: “Acme Support”
– Example: noreply@yourdomain.com
– Use a verified domain email to avoid spam filters
Notification Events
Enable/disable notifications for:
Customer Notifications
Admin/Agent Notifications
Email Templates
Customize email content using placeholders:
Example template:
`
Hello {customer_name},
Your ticket {ticket_id} has been received.
Subject: {ticket_subject}
We’ll respond within 24 hours.
View ticket: {ticket_url}
Thank you,
{company_name}
`
Step 6: Create Frontend Pages
Create the following WordPress pages:
Submit Ticket Page
My Tickets Page
Knowledge Base Page
Assign Pages in Settings
Step 7: User Roles Setup
Configure who can access support features:
Default Roles
ShahiAssist adds two custom roles:
Support Agent
Support Manager
Assigning Roles
– Support Agent
– Support Manager
Permission Customization
– read_tickets
– edit_tickets
– delete_tickets
– assign_tickets
– manageticketcategories
– view_statistics
—
First-Time Setup Checklist
Use this checklist to ensure complete configuration:
Required Setup
Recommended Setup
Advanced Setup (Optional)
—
Testing Your Installation
After setup, perform these tests:
Test 1: Submit a Ticket
– Ticket appears in admin (Tickets → All Tickets)
– Ticket ID generated correctly
– Email confirmation sent
– Admin notification received
Test 2: Agent Response
– Reply appears in ticket thread
– Customer receives email notification
– Timestamp displays correctly
Test 3: Knowledge Base
Test 4: Customer Dashboard
– Only user’s tickets visible
– Filter by status works
– Ticket details load
– Reply form functions
Test 5: Email Notifications
—
Post-Installation Optimization
Performance Optimization
Caching Considerations
– Exclude AJAX endpoints from cache
– Exclude pages: /wp-admin/admin-ajax.php
– Clear cache after configuration changes
Database Optimization
Image Optimization
Security Hardening
SSL/HTTPS
User Permissions
Backup Strategy
File Upload Security
SEO Optimization
Knowledge Base SEO
Schema Markup
—
Troubleshooting Installation Issues
Common Issues and Solutions
Issue: Plugin Won’t Activate
Issue: White Screen After Activation
`php
define(‘WPMEMORYLIMIT’, ‘256M’);
`
Issue: Missing Menu Item
Issue: Shortcodes Display as Text
– Switch page to “Code Editor” mode
– Ensure shortcode on its own line
– No quotes or extra characters
Issue: Email Notifications Not Sending
Issue: 404 Error on KB Articles
– Go to Settings → Permalinks
– Click Save Changes (don’t change anything)
– Retry KB URL
Issue: Tickets Not Saving
– Check wp-content/uploads is writable (755)
– Verify PHP user has write access
Issue: JavaScript Errors in Console
– Test with default theme (Twenty Twenty-Four)
– Deactivate other plugins temporarily
– Check browser console for specific errors
Issue: REST API 401 Unauthorized
– Use WordPress Application Passwords
– Go to Users → Profile → Application Passwords
– Generate new password for API access
—
Getting Help
Documentation Resources
Support Channels
Official Support
Community Resources
What to Include in Support Requests
Debug Mode
Enable debug mode for troubleshooting:
`php
define(‘WP_DEBUG’, true);
define(‘WPDEBUGLOG’, true);
define(‘WPDEBUGDISPLAY’, false);
`
—
Next Steps
Now that ShahiAssist is installed and configured:
Welcome to ShahiAssist! You’re ready to provide world-class support to your customers.
—
Quick Reference
Important URLs (after setup)
Default Credentials
File Locations
Support
Share this article
Still need help?
Our support team is ready to assist you with personalized guidance for your workspace.