๐ Overview
The Altius SuiteCRM Bridge connects your WordPress appointment booking system to SuiteCRM, enabling real-time two-way synchronization and conflict detection across unlimited sites.
What This Plugin Does
- Two-Way Sync: Appointments flow WordPress โ SuiteCRM automatically
- Real-Time Conflict Detection: Prevents double-bookings across all sites
- Automatic Contact Management: Creates and links contacts in SuiteCRM
- Multi-Site Support: Connect unlimited WordPress sites to one CRM
- Timezone Intelligence: Auto-calibrates and handles global timezones
- Complete Data Sovereignty: Self-hosted, you own everything
System Architecture
WordPress Site 1 โโโ
WordPress Site 2 โโโผโโโโ SuiteCRM (Central Hub)
WordPress Site 3 โโโ โ
Meetings, Contacts, Users
(Single Source of Truth)
๐ก Key Benefit: Book an appointment on Site 1, and Sites 2, 3, 4... all immediately know that time is unavailable. Zero double-bookings!
Version Information
| Component |
Version |
Status |
| WordPress Bridge Plugin |
v2.6.0 |
โ
Production |
| SuiteCRM Connector Plugin |
v1.5.0 |
โ
Production |
| Supported SuiteCRM Versions |
7.14.x - 7.15 |
โ
Tested |
| SuiteCRM 8.x Support |
Coming Soon |
๐ Future Release |
๐ Note: This guide is specifically for SuiteCRM 7.14.x and 7.15. Support for SuiteCRM 8.x will be added in a future update.
โ
Requirements
WordPress Requirements
WordPress Version
5.8 or higher
PHP Version
7.4 or higher (8.0+ recommended)
Required Plugins
Altius Scheduler v3.5.1+
SSL Certificate
HTTPS required for OAuth2
WP-Cron
Must be enabled (default)
Server Access
FTP or cPanel for SuiteCRM key upload
SuiteCRM Requirements
SuiteCRM Version
7.14.x or 7.15
API Module
Must be enabled (default)
Admin Access
Required for OAuth setup
Server Access
SSH, FTP, or cPanel access required
OpenSSL
For generating RSA keys
HTTPS
SSL certificate required
โ ๏ธ CRITICAL: SuiteCRM Version Compatibility
This version is ONLY compatible with SuiteCRM 7.14.x and 7.15. Do NOT use with SuiteCRM 8.x. Support for SuiteCRM 8.x will be released separately.
โ ๏ธ Important: Both WordPress and SuiteCRM must be accessible via HTTPS. OAuth2 authentication requires secure connections.
๐ง SuiteCRM Configuration
Complete these steps BEFORE installing the WordPress plugin.
Part 1: Install Altius Connector in SuiteCRM
1
Download Connector
Download: AltiusConnector-v1.5.0.zip
2
Upload to SuiteCRM
Go to: Admin โ Module Loader
Click "Choose File" and select the Connector zip file.
3
Install Module
Click "Upload" then "Install" when the option appears.
4
Verify Installation
Go to: Admin โ Altius Connector โ Altius Connector Configuration
You should see the configuration page (don't configure yet - we'll do this later).
Part 2: Generate RSA Key Pair
Choose the method that works best for you:
๐ SECURITY WARNING: Never Use AI to Generate Keys!
Do NOT ask ChatGPT, Gemini, Claude, or any AI chatbot to generate RSA keys for you. When you paste text into an AI, it goes to their servers and is no longer secure. RSA keys must be generated on YOUR computer or server only.
โญ Method 1: Online Key Generator (Easiest - Recommended)
2
Generate Keys
Settings:
- Key Size: 2048 bits
- Format: PEM
- Click "Generate Key Pair" or similar button
3
Save Private Key
Copy the private key text (starts with -----BEGIN RSA PRIVATE KEY-----)
Save to a file named: private.key
4
Save Public Key
Copy the public key text (starts with -----BEGIN PUBLIC KEY-----)
Save to a file named: public.key
5
Upload to SuiteCRM Server - CORRECT LOCATION!
Using FTP or cPanel File Manager:
โ ๏ธ CRITICAL: Upload to This EXACT Location:
/your-suitecrm-root/Api/V8/OAuth2/private.key
/your-suitecrm-root/Api/V8/OAuth2/public.key
NOT in the root directory! They MUST be in the /Api/V8/OAuth2/ subdirectory.
Step-by-step:
- Navigate to your SuiteCRM root directory (where
index.php is)
- Navigate into:
Api folder
- Navigate into:
V8 folder
- Navigate into:
OAuth2 folder
- Upload both
private.key and public.key HERE
6
Set Correct Permissions
After uploading, set file permissions:
- private.key: Set to
600 (Owner: Read+Write, Group: None, World: None)
- public.key: Set to
644 (Owner: Read+Write, Group: Read, World: Read)
๐ Security Note: The online generator runs in YOUR browser - keys are generated client-side using JavaScript. However, for maximum security, use Method 2 or 3 if you're comfortable with technical tools.
Method 2: cPanel Terminal (If You Have cPanel)
1
Login to cPanel
Access your hosting account's cPanel.
2
Open Terminal
Find "Terminal" in cPanel (usually under "Advanced" section)
3
Navigate to OAuth2 Directory
cd public_html/suitecrm/Api/V8/OAuth2
# Or wherever your SuiteCRM is installed
# Make sure you're in the /Api/V8/OAuth2/ directory!
4
Generate Keys
Run these two commands:
openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key
5
Set Permissions
chmod 600 private.key
chmod 644 public.key
6
Verify Files Exist in Correct Location
pwd
# Should show: /home/username/public_html/suitecrm/Api/V8/OAuth2
ls -la *.key
# Should show both private.key (600) and public.key (644)
Method 3: Generate on Your Computer (Most Secure)
1
Install OpenSSL on Your Computer
Windows:
Mac:
- OpenSSL is pre-installed
- Open Terminal app (Applications โ Utilities โ Terminal)
Linux:
- OpenSSL is pre-installed
- Open your terminal
2
Create a Folder for Keys
mkdir suitecrm-keys
cd suitecrm-keys
3
Generate Keys
openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key
4
Upload to SuiteCRM Server - CORRECT LOCATION!
Using FTP client (FileZilla, Cyberduck, etc.) or cPanel File Manager:
โ ๏ธ Upload to This EXACT Path:
/your-suitecrm-root/Api/V8/OAuth2/private.key
/your-suitecrm-root/Api/V8/OAuth2/public.key
- Connect to your server
- Navigate to:
/your-suitecrm/Api/V8/OAuth2/
- Upload both
private.key and public.key
- Set permissions: private.key = 600, public.key = 644
โ
Keys Generated Successfully!
Whichever method you used, you now have:
private.key in /Api/V8/OAuth2/ with 600 permissions
public.key in /Api/V8/OAuth2/ with 644 permissions
- Both files in the CORRECT location (not root directory!)
๐ Important Security Reminders:
- NEVER share your private.key file with anyone
- NEVER paste keys into email, chat, or AI assistants
- NEVER reuse keys from other installations
- Each SuiteCRM instance must have unique keys
- If private key is compromised, generate new keys immediately
Part 3: Create OAuth Consumer
1
Login to SuiteCRM
Log in to SuiteCRM as an administrator.
2
Navigate to OAuth Keys
Go to: Admin โ OAuth Keys
3
Create New OAuth Key
Click "Create OAuth Key" and fill in:
| Field |
Value |
| Consumer Key Name |
Altius Scheduler Bridge |
| Consumer Key (Client ID) |
Generate a UUID or use: altius-bridge-[random-string] |
| Consumer Secret (Client Secret) |
Generate a secure random string (16-32 characters) |
| Is Confidential |
โ
CHECKED (very important!) |
| Allowed Grant Type |
Password Grant |
โ ๏ธ CRITICAL: "Is Confidential" Must Be Checked!
Make sure to CHECK the "Is confidential" checkbox. This is required for the Bridge to work properly.
4
Save OAuth Consumer
Click "Save" and copy the Consumer Key and Consumer Secret to a safe place. You'll need these for WordPress configuration.
๐ก Generating Secure Keys:
Generate secure random strings using:
# Consumer Key (UUID format)
uuidgen
# Output: 652dc7a3-a8c5-4140-5cf3-6947b9499de4
# Consumer Secret (random string)
openssl rand -base64 24
# Output: aB3xK9mP2qR5sT8wV1yZ4cD6fG7hJ0kL
Or use an online UUID generator: https://www.uuidgenerator.net/
Part 4: Create API User
1
Navigate to Users
Go to: Admin โ User Management
2
Create New User
Click "Create User" and fill in:
| Field |
Value |
Notes |
| User Name |
altius_api |
Standard naming convention |
| First Name |
Altius |
For identification |
| Last Name |
API User |
For identification |
| Email |
YOUR ACTUAL EMAIL |
CRITICAL: Use email of a staff member who will be mapped |
| Password |
Strong password |
Store securely, needed for WordPress config |
| Status |
Active |
Required |
| Admin User |
โ
Yes |
REQUIRED for API access |
โ ๏ธ Email Address Is Critical!
The API user's email address is used to map WordPress staff members to SuiteCRM users for conflict detection. Use the email address of the staff member who will be booking appointments (usually the site owner or primary staff member).
3
Save User
Click "Save" to create the API user.
โ
SuiteCRM Configuration Complete!
You now have:
- โ
Altius Connector v1.5.0 installed
- โ
RSA key pair in
/Api/V8/OAuth2/ with correct permissions
- โ
OAuth Consumer Key and Secret (Is Confidential = checked)
- โ
API user with admin privileges
๐ WordPress Installation & Configuration
Part 1: Install Altius Scheduler
1
Download Plugin
Download: altius-scheduler-v3.5.1.zip
2
Upload to WordPress
Go to: WordPress Admin โ Plugins โ Add New โ Upload Plugin
Click "Choose File" and select the downloaded zip file.
3
Activate Plugin
Click "Activate Plugin" after installation completes.
4
Configure Scheduler
Go to: Altius Scheduler โ Settings
Set up your staff members, services, and booking forms according to your needs.
๐ก Staff Email Addresses: When adding staff members, use the SAME email addresses as your SuiteCRM users. This is how the Bridge plugin maps WordPress staff to CRM users for conflict detection.
Part 2: Install Bridge Plugin
1
Download Bridge Plugin
Download: altius-suitecrm-bridge-v2.6.0.zip
2
Upload to WordPress
Go to: WordPress Admin โ Plugins โ Add New โ Upload Plugin
Click "Choose File" and select the Bridge plugin zip file.
3
Activate Plugin
Click "Activate Plugin" after installation completes.
Part 3: Configure Bridge Settings
1
Navigate to Settings
Go to: WordPress Admin โ Altius Bridge โ Settings
2
Review Altius Ecosystem API Key
At the top of the page, you'll see your unique Altius Ecosystem API Key. This key is automatically generated and used for the Connector plugin in SuiteCRM.
Copy this key - you'll need it when configuring the Connector in SuiteCRM.
3
Enter SuiteCRM Credentials
Scroll down and fill in the configuration form:
| Field |
Value |
Example |
| SuiteCRM URL |
Your SuiteCRM installation URL |
https://crm.yourdomain.com |
| Client ID |
OAuth Consumer Key from SuiteCRM |
652dc7a3-a8c5-4140-5cf3-6947b9499de4 |
| Client Secret |
OAuth Consumer Secret from SuiteCRM |
aB3xK9mP2qR5sT8wV1yZ4cD6fG7hJ0kL |
| Username |
API user username |
altius_api |
| Password |
API user password |
(your secure password) |
| API Version |
Auto-detect (Recommended) |
Leave as default - will detect V4.1 for SuiteCRM 7.x |
| Enable Sync |
โ
Checked |
Must be enabled |
๐ก API Version Auto-Detection (New in v2.6.0):
The Bridge now automatically detects your SuiteCRM version (7.x uses V4.1 API). Leave this set to "Auto-detect" unless you experience issues.
4
Save Settings
Click "Save Settings" button.
5
Test Connection
Click the "Test Connection" button.
โ Success! You should see: "Connected to SuiteCRM as: Altius API User"
Below the API Version field, you should now see: โ Detected: V4.1
โ ๏ธ Connection Failed?
Common issues:
- Incorrect SuiteCRM URL (check for trailing slashes)
- Wrong Client ID or Client Secret
- API user credentials incorrect
- RSA keys not in correct location (
/Api/V8/OAuth2/)
- RSA keys have wrong permissions
- OAuth client "Is Confidential" not checked
Part 4: Configure Altius Connector in SuiteCRM
1
Navigate to Connector Configuration
In SuiteCRM, go to: Admin โ Altius Connector โ Altius Connector Configuration
2
Enter Configuration
| Field |
Value |
| WordPress URL |
Your WordPress site URL (no trailing slash) Example: https://www.yoursite.com |
| Altius Ecosystem API Key |
Paste the API key you copied from WordPress Bridge settings |
| Enable automatic sync |
โ
Checked |
3
Save Configuration
Click "Save Configuration" button.
โ Success! You should see: "Configuration saved successfully!"
Status should show "Configured" and "Sync Enabled: Yes"
๐ก Note: The Connector v1.5.0 no longer crashes when saving! The configuration page saves and displays without any redirect errors.
Part 5: Automatic Timezone Calibration
1
Book Test Appointment
Create a test appointment using your Altius booking form. This triggers automatic timezone calibration.
2
Verify Calibration
Go to: Altius Bridge โ Settings
You should see: โ Timezone Calibrated: X hour offset detected
3
Verify in SuiteCRM
Log into SuiteCRM โ Meetings โ Check that your test appointment appears with the correct time.
๐ก Timezone Issues? Click the "๐ Recalibrate Timezone Offset" button and book another test appointment. The system will re-detect the correct offset.
Part 6: Verify Two-Way Sync
1
Edit Meeting in SuiteCRM
In SuiteCRM, change the time of your test meeting.
2
Wait 5 Minutes
The Bridge plugin polls SuiteCRM every 5 minutes for changes.
3
Check WordPress
Go to: Altius Scheduler โ Appointments
The appointment time should now match the SuiteCRM meeting time.
โ
Setup Complete!
Your WordPress site is now fully integrated with SuiteCRM with:
- โ
Two-way synchronization (WP โ CRM)
- โ
Automatic timezone handling
- โ
Real-time conflict detection
- โ
Contact creation and linking
- โ
API version auto-detection (V4.1 for SuiteCRM 7.x)
๐ Multi-Site Configuration
Connect multiple WordPress sites to the same SuiteCRM for centralized scheduling and conflict detection.
Architecture Overview
Site 1 (Phoenix) โโโ
Site 2 (London) โโโผโโโโ SuiteCRM (Central Hub)
Site 3 (Tokyo) โโโค โ
Site 4 (New York) โโโ Single Source of Truth
...unlimited sites for All Appointments
๐ก Key Benefit: Book Christine at 2PM on Site 1, and she's immediately unavailable at 2PM on Sites 2, 3, 4... Zero double-bookings!
Installation for Each Additional Site
1
Install Both Plugins
- Install Altius Scheduler v3.5.1
- Install Altius SuiteCRM Bridge v2.6.0
- Activate both plugins
2
Configure Bridge with SAME Credentials
Use the SAME SuiteCRM credentials on all sites:
| Field |
Value |
| SuiteCRM URL |
Same URL as Site 1 |
| Client ID |
Same OAuth Consumer Key |
| Client Secret |
Same OAuth Consumer Secret |
| Username |
Same API username (altius_api) |
| Password |
Same API password |
| API Version |
Auto-detect (will detect V4.1) |
3
Test Connection
Click "Test Connection" on each site to verify.
Each site should show: โ Detected: V4.1
4
Configure Connector for Each Site
In SuiteCRM, you only need ONE Connector configuration, but you can add multiple WordPress sites to track them separately. Each WordPress site has its own unique Ecosystem API Key.
5
Configure Staff with MATCHING Emails
CRITICAL: Staff members on all sites must use the SAME email addresses.
| Site |
Staff Name |
Email (Must Match!) |
| Site 1 |
Christine Ely |
christine@example.com |
| Site 2 |
Christine Ely |
christine@example.com โ Same! |
| Site 3 |
Christine Ely |
christine@example.com โ Same! |
โ ๏ธ Email Matching is CRITICAL!
The Bridge plugin maps WordPress staff to SuiteCRM users via email address. If emails don't match exactly across all sites, conflict detection won't work properly.
How Multi-Site Conflict Detection Works
1
User Books on Site 1
Customer books Christine at 2:00 PM on December 26th via Site 1.
2
Instant Sync to SuiteCRM
Bridge plugin immediately creates meeting in SuiteCRM (within 1-2 seconds).
3
Sites 2, 3, 4 Poll SuiteCRM
Every 5 minutes, all other sites check SuiteCRM for updates.
Within 5 minutes, all sites know Christine is booked at 2:00 PM.
4
Booking Attempt on Site 2
Customer tries to book Christine at 2:00 PM on Site 2.
5
Conflict Detection Triggers
Bridge plugin:
- Maps staff email โ SuiteCRM user ID
- Queries SuiteCRM for meetings at 2:00 PM
- Finds existing meeting from Site 1
- BLOCKS the booking
- Shows error: "This time slot conflicts with an existing meeting"
โ
Result: Zero double-bookings across unlimited WordPress sites!
Timezone Considerations
๐ก Global Sites Work Automatically!
Each site independently calibrates its timezone:
- Site 1 (Phoenix): Calibrates MST offset
- Site 2 (London): Calibrates GMT offset
- Site 3 (Tokyo): Calibrates JST offset
All times convert to UTC before syncing to SuiteCRM. Conflict detection works perfectly across all timezones!
Testing Multi-Site Setup
1
Book on Site 1
Create appointment for Staff Member A at 2:00 PM on specific date.
2
Verify in SuiteCRM
Check SuiteCRM Meetings module - appointment should appear within seconds.
3
Wait 5 Minutes
Allow time for Site 2 to poll SuiteCRM.
4
Try Booking Same Time on Site 2
Attempt to book Staff Member A at 2:00 PM (same time) on Site 2.
5
Verify Conflict Detection
You should see error: "This time slot conflicts with an existing meeting in the system."
6
Book Different Time on Site 2
Try booking Staff Member A at 3:00 PM (different time).
This should succeed! โ
๐งช Testing & Validation
Test 1: Connection Test
1
Test Bridge Connection
Go to: Altius Bridge โ Settings
Click "Test Connection"
2
Verify Success
Should show:
- โ
Connected to SuiteCRM as: Altius API User
- โ Detected: V4.1
Test 2: Connector Save Test
1
Test Connector Configuration
In SuiteCRM: Admin โ Altius Connector โ Configuration
Make any change and click "Save Configuration"
2
Verify No Crash
Page should:
- โ
Save without error
- โ
Show success message
- โ
NOT show HTTP 500 error
Test 3: One-Way Sync (WordPress โ SuiteCRM)
1
Book Appointment
Use your Altius booking form to create a test appointment.
2
Check SuiteCRM
Login to SuiteCRM โ Meetings module
Your appointment should appear within 1-2 seconds.
3
Verify Details
Check the meeting details:
- โ
Correct date and time
- โ
Assigned to correct user
- โ
Contact created and linked
- โ
Description includes
[ALTIUS:ID] marker
Test 4: Two-Way Sync (SuiteCRM โ WordPress)
1
Edit Meeting in SuiteCRM
Change the meeting time (e.g., 2:00 PM โ 3:00 PM)
2
Wait 5 Minutes
WordPress polls SuiteCRM every 5 minutes via WP-Cron.
3
Check WordPress
Go to: Altius Scheduler โ Appointments
The appointment time should now match SuiteCRM (3:00 PM).
Test 5: Conflict Detection
1
Note Existing Appointment
You should have a test appointment from Test 3 (e.g., 2:00 PM Dec 26).
2
Try Booking Same Time
On your booking form, try to book the same staff member at the same time.
3
Verify Block
You should see error: "This time slot conflicts with an existing meeting in the system."
4
Book Different Time
Try booking at a different time (e.g., 3:00 PM).
This should succeed! โ
Test 6: Manual Conflict Testing
1
Navigate to Test Page
Go to: WordPress Admin โ Altius Bridge โ Conflict Test
2
Get SuiteCRM User ID
In SuiteCRM, go to Admin โ Users โ Click your staff user โ Copy ID from URL
Example: https://crm.site.com/index.php?...id=1
3
Test Known Conflict
Enter test parameters:
- User ID: 1 (or your staff user ID)
- Start Time: UTC time of your test appointment
- End Time: End time + 1 hour
Click "๐ฆ Test Availability"
4
Verify Results
You should see:
โ NOT AVAILABLE
Message: Staff member has 1 conflicting meeting(s)
๐ก Timezone Helper: The test page includes a timezone conversion reference to help you convert local times to UTC for testing.
Test 7: Verify Sync Status
1
Check Sync Dashboard
Go to: Altius Bridge โ Sync Status
2
Review Recent Syncs
You should see log entries for:
- Appointments synced to SuiteCRM
- Recent polling operations
- Any sync errors (should be none)
3
Trigger Manual Sync
Click "๐ Sync Now" button to force an immediate sync from SuiteCRM.
This is useful for testing without waiting 5 minutes.
๐ง Troubleshooting Guide
Connection Issues
Problem: "Test Connection" Fails with HTTP 500 or Authentication Error
Symptoms: Error message when clicking "Test Connection" button
Solutions (Check in This Order):
1. MOST COMMON: RSA Keys in Wrong Location
The #1 cause of connection failures is keys in the wrong directory.
CORRECT Location:
/your-suitecrm/Api/V8/OAuth2/private.key (permissions: 600)
/your-suitecrm/Api/V8/OAuth2/public.key (permissions: 644)
WRONG Location:
/your-suitecrm/private.key โ WRONG! Not in root!
/your-suitecrm/public.key โ WRONG! Not in root!
Fix: Move keys from root to /Api/V8/OAuth2/ directory.
- Verify RSA Key Permissions
- private.key must be 600
- public.key must be 644
- Files must be readable by web server
- Check OAuth "Is Confidential" Setting
- Go to: SuiteCRM โ Admin โ OAuth Keys
- Edit your OAuth consumer
- Verify "Is confidential" is CHECKED โ
- If not checked, check it and save
- Check SuiteCRM URL
- Remove trailing slashes
- Must be HTTPS
- Example:
https://crm.site.com (not https://crm.site.com/)
- Verify OAuth Credentials
- Client ID matches OAuth Consumer Key exactly
- Client Secret matches OAuth Consumer Secret exactly
- No extra spaces or characters
- Check API User
- Username:
altius_api
- Password is correct
- User status is "Active"
- User has "Admin" privileges
- Check SuiteCRM Error Log
- Check:
/your-suitecrm/error_log
- Look for "Invalid key supplied" errors
- This confirms keys are in wrong location or have wrong format
Problem: API Version Shows Wrong Version
Symptoms: Shows "Detected: V8" instead of "Detected: V4.1"
Solution:
- This shouldn't happen with v2.6.0 and SuiteCRM 7.x
- If it does, manually set API Version to "V4.1 (SuiteCRM 7.x)" in settings
- Save settings and test connection again
Connector Save Issues
Problem: Connector Configuration Page Crashes When Saving
Symptoms: HTTP 500 error after clicking "Save Configuration"
Solution:
- Verify You're Using v1.5.0:
- Go to: Admin โ Module Loader โ Installed Modules
- Check Altius Connector version
- Must be v1.5.0 (eliminates save crashes)
- If Still v1.4.x:
- Upgrade to v1.5.0
- Admin โ Module Loader โ Upload โ Install v1.5.0
- Settings will be preserved
- Clear Browser Cache:
- Old version might be cached
- Try different browser or incognito mode
Timezone Issues
Problem: Appointments Show Wrong Time in SuiteCRM
Symptoms: Time in SuiteCRM doesn't match WordPress appointment
Solutions:
- Recalibrate Timezone
- Go to: Altius Bridge โ Settings
- Click "๐ Recalibrate Timezone Offset"
- Book new test appointment
- System will auto-detect correct offset
- Check WordPress Timezone
- Go to: Settings โ General
- Verify correct timezone selected
- Example: "Phoenix" or "America/Phoenix"
- Check SuiteCRM User Timezone
- Login as API user
- Check user profile timezone setting
- Should match your local timezone
Sync Issues
Problem: Appointments Not Syncing to SuiteCRM
Symptoms: Bookings save in WordPress but don't appear in SuiteCRM
Solutions:
- Check Sync Status
- Go to: Altius Bridge โ Sync Status
- Look for error messages
- Check recent sync attempts
- Verify Sync is Enabled
- Go to: Altius Bridge โ Settings
- Ensure "Enable Sync" is checked
- Save settings if changed
- Check Debug Log
- Enable WordPress debug logging in
wp-config.php
- Add:
define('WP_DEBUG_LOG', true);
- Check
wp-content/debug.log for errors
Problem: Changes in SuiteCRM Not Syncing to WordPress
Symptoms: Edit meeting in SuiteCRM, doesn't update in WordPress
Solutions:
- Wait 5 Minutes
- Polling happens every 5 minutes via WP-Cron
- Changes aren't instant (CRM โ WP)
- Check WP-Cron
- Verify WP-Cron is enabled (default)
- Some hosts disable it - contact support
- Test with: Go to Sync Status โ Click "๐ Sync Now"
- Verify Description Marker
- Open meeting in SuiteCRM
- Check description includes
[ALTIUS:50] (example ID)
- If missing, meeting won't sync back
Conflict Detection Issues
Problem: Conflict Detection Not Working
Symptoms: Can book same time slot twice, no error shown
Solutions:
- Verify Email Mapping
- WordPress: Check staff member email in Altius Scheduler
- SuiteCRM: Check user email matches exactly
- Emails must be identical (case-sensitive!)
- Test with Manual Conflict Tester
- Go to: Altius Bridge โ Conflict Test
- Enter user ID and existing meeting time
- Should show "NOT AVAILABLE"
- If shows "AVAILABLE", check email mapping
- Verify Altius Scheduler Version
- Must be v3.5.1 or higher
- Earlier versions don't have conflict detection hook
- Clear WordPress Cache
- If using caching plugin, clear all caches
- Conflict detection requires fresh API calls
Multi-Site Issues
Problem: Site 2 Can Book Time Already Booked on Site 1
Symptoms: Cross-site conflict detection not working
Solutions:
- Wait 5 Minutes After Site 1 Booking
- Site 1 syncs instantly (WP โ CRM)
- Site 2 polls every 5 minutes (CRM โ WP)
- 5-minute window where Site 2 doesn't know about Site 1 booking
- Verify Same OAuth Credentials
- All sites must use SAME SuiteCRM URL
- All sites must use SAME Client ID/Secret
- All sites must use SAME API username/password
- Check Staff Email Consistency
- Staff member "Christine" on Site 1: christine@example.com
- Staff member "Christine" on Site 2: christine@example.com
- Must be EXACTLY the same email
Enable Debug Logging
For detailed troubleshooting, enable WordPress debug logging:
1
Edit wp-config.php
Add these lines before "That's all, stop editing!":
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
2
Trigger the Issue
Reproduce the problem (book appointment, test connection, etc.)
3
Check Debug Log
View log file at: wp-content/debug.log
Look for lines containing:
=== ALTIUS SUITE
=== CHECKING AVAILABILITY
=== CONFLICT VALIDATION
ERROR:
Getting Support
If you're still experiencing issues after trying these solutions:
- Gather Information:
- WordPress version
- PHP version
- SuiteCRM version (should be 7.14.x or 7.15)
- Bridge plugin version (should be v2.6.0)
- Connector plugin version (should be v1.5.0)
- Scheduler plugin version
- Relevant debug log entries
- Screenshots of error messages
- Confirm RSA keys are in
/Api/V8/OAuth2/ with correct permissions
- Contact Support:
- Email: support@altiusscheduler.com
- Include all information from step 1
- Describe steps to reproduce the issue