The Bridge is the connection between Altius HQ and SuiteCRM. Every Altius plugin reads and writes your CRM data through it. This guide takes you from a fresh SuiteCRM to a connected, secured Altius HQ in about 30 minutes.
The Bridge started as a link between the Altius Scheduler and SuiteCRM. It is now the core of Altius HQ: install it first, and every other Altius plugin builds on it.
Signs in to SuiteCRM's API once and shares that connection with CRM Hub, Quotes, Invoices, Purchase Orders, Finance, the Scheduler, the Portal and Ask Claude.
Your team signs in at your own address, yoursite.com/altius/ by default, and works there without ever seeing the WordPress dashboard.
Roles (Owner, Manager, Staff, Bookkeeper, Read only) set what each person can view, edit or manage, area by area, with per-person adjustments.
Set up each issuing company once (name, address, logo, terms, how to pay) and use it on every quote, invoice and purchase order.
Every CRM field is labelled Standard, Confidential or Restricted, so salaries, costs and ID numbers are seen only by the right people, and never sent to Ask Claude.
Every change made to the CRM through Altius HQ is recorded against the person who made it: what changed, never the values. Kept for a year.
Team, Permissions, Companies, Sensitive data and the Activity log are managed from the Altius Dashboard's tabs; the Bridge enforces them everywhere.
| Item | Requirement |
|---|---|
| WordPress | 5.8 or later, PHP 7.4 or later, SSL (https) on both sites |
| SuiteCRM | 7.14 or 7.15 recommended, with its V8 API working. Using SuiteCRM 8? Talk to us before installing. |
| Altius Connector | 3.9.2 or later, installed in SuiteCRM through Module Loader |
| Access | A SuiteCRM administrator login, file access to the SuiteCRM server (cPanel File Manager, SSH or SFTP), and a WordPress administrator login |
| Clocks | Both servers set to the correct time. Secure requests are refused if the clocks are more than five minutes apart. |
Four steps in SuiteCRM, then the rest happens in WordPress.
private.key and public.key. They live in your SuiteCRM folder, in Api/V8/OAuth2/. Many fresh installs don't have them, and without them the Bridge can't connect.
public_html/crm or similar), then Api, then V8, then OAuth2.private.key and public.key, skip to step 3. If not, create them using one of the three ways below.cd, a space, then the path to the OAuth2 folder, and press Enter. For example: cd public_html/crm/Api/V8/OAuth2openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key
chmod 600 private.key
chmod 644 public.key
ls and press Enter. You should see private.key and public.key listed. Done.On cPanel hosting, files you create this way already belong to the right account, so there's nothing more to set.
openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key
Api/V8/OAuth2 folder and Upload both files.private.key, choose Change Permissions and set it to 600. Do the same for public.key with 644.Send them this: "Please create an RSA 2048 key pair for SuiteCRM's V8 API in the folder Api/V8/OAuth2: private.key with permissions 600 and public.key with permissions 644, owned by the user the web server runs as." Any host's support team will know what this means. Or ask us and we'll do it for you.
www-data or apache. Your host or server administrator can set this in a minute.altius_api, with a strong password and administrator rights. Altius HQ records every change against the real person in its own Activity log, so this one login can safely do the CRM work for your whole team.
Install the Bridge before any other Altius plugin, connect it, then add the rest.
| Setting | What to enter |
|---|---|
| Altius app address | Where your team signs in. Leave it as altius unless that clashes with a page you already have. |
| SuiteCRM URL | The full address of your SuiteCRM, with no slash at the end, for example https://crm.yourcompany.com |
| Client ID (Consumer Key) | The ID of the Password Client you created |
| Client Secret (Consumer Secret) | The secret you gave that client |
| API Username / API Password | The altius_api user you created |
| Enable Sync | Leave off for now. It controls appointment sync with SuiteCRM meetings (see section 6). |
The Connector's services (PDFs, record updates, layouts) are open until you give SuiteCRM a shared secret. With a secret saved, SuiteCRM accepts only requests signed by your WordPress site. Do this on every installation.
For businesses that also work in SuiteCRM's own calendar. Tick Enable Sync in the Bridge settings and save.
[ALTIUS:number], which ties it to the appointment: please leave that marker in place.Five minutes now saves a support call later.
yoursite.com/altius/ as a non-admin team member and confirm they see only what their role allows.The message you see, what it means, and what to do.
| Message | What it means | What to do |
|---|---|---|
| SuiteCRM URL not configured / OAuth credentials not configured / username/password not configured | A setting is empty. | Fill in every connection setting and click Save Settings before testing. |
| HTTP 401 … invalid_client | SuiteCRM doesn't recognise the client ID and secret. | Copy the ID again from OAuth2 Clients and Tokens and re-type the secret. Check it's a Password Client. |
| HTTP 400 or 401 … invalid_grant / invalid credentials | The API username or password is wrong. | Sign in to SuiteCRM as that user to prove the password, then re-enter it. |
| HTTP 500 on sign-in, or a key error | SuiteCRM can't read its API key files. | Check Api/V8/OAuth2/private.key and public.key exist, with permissions 600 and 644 (see SuiteCRM setup, step 2). On a VPS, check they belong to the web server's user. |
| HTTP 404 on sign-in | The SuiteCRM URL points to the wrong place. | Use the address you sign in to SuiteCRM with, without /index.php and without a slash at the end. |
| Connection error: … | WordPress couldn't reach the CRM server at all. | Check the address opens in a browser, the SSL certificate is valid, and no firewall blocks the WordPress server. |
| SuiteCRM doesn't have Altius Connector 3.9.1 or later yet | The secure test can't find the Connector's services. | Install or upgrade the Connector in Module Loader, then test again. |
| SuiteCRM refused the signature | The two secrets don't match, or the servers' clocks are more than five minutes apart. | Copy the secret from WordPress and save it in SuiteCRM again. Ask your host to check both servers' time. |
| The Connector is installed but SuiteCRM has no secret yet | The services work but are still open. | Finish Secure the Connector. |
| The server blocks PATCH/DELETE … record_update service failed | Your host blocks API edits and the Connector's fallback isn't available. | Install Connector 3.9.2 and save the secret in both places. |
| Could not save configuration. Check file permissions… | SuiteCRM can't write the Connector's settings file. | Make custom/modules/Administration/AltiusPortal/ writable by the web server. |
| This time slot conflicts with an existing meeting | Appointment sync found a SuiteCRM meeting at that time. | That's working as intended: choose another time, or move the meeting in SuiteCRM. |
| Synced appointment times are off by an hour or more | The time offset was calibrated wrongly. | Check the WordPress time zone (Settings, General) and the API user's SuiteCRM time zone, then click Recalibrate Timezone Offset and book one new appointment. |
WP_DEBUG_LOG). The Bridge writes its connection and sync messages to wp-content/debug.log.Altius Central sets up and hosts Altius HQ for most clients, so you may never need this page. If you're installing it yourself and get stuck, send us the message you're seeing and your Bridge and Connector versions, and we'll help.
