Altius HQ · Setup & support

Altius SuiteCRM Bridge

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.

Bridge 2.12.5 Altius Connector 3.9.2 SuiteCRM 7.14 and 7.15 WordPress 5.8+ · PHP 7.4+
  1. What the Bridge does
  2. Requirements
  3. SuiteCRM setup
  4. WordPress setup
  5. Secure the Connector
  6. Appointment sync (optional)
  7. Final checks
  8. Troubleshooting

What the Bridge does

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.

The CRM connection

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.

The Altius HQ app

Your team signs in at your own address, yoursite.com/altius/ by default, and works there without ever seeing the WordPress dashboard.

Team and permissions

Roles (Owner, Manager, Staff, Bookkeeper, Read only) set what each person can view, edit or manage, area by area, with per-person adjustments.

Companies

Set up each issuing company once (name, address, logo, terms, how to pay) and use it on every quote, invoice and purchase order.

Sensitive data

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.

Activity log

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.

The Altius Connector is the Bridge's partner on the SuiteCRM side. It adds the fields, PDF services and secure write services that Altius HQ needs, and it lets the Bridge save changes even on hosts that block parts of SuiteCRM's API.

Requirements

ItemRequirement
WordPress5.8 or later, PHP 7.4 or later, SSL (https) on both sites
SuiteCRM7.14 or 7.15 recommended, with its V8 API working. Using SuiteCRM 8? Talk to us before installing.
Altius Connector3.9.2 or later, installed in SuiteCRM through Module Loader
AccessA SuiteCRM administrator login, file access to the SuiteCRM server (cPanel File Manager, SSH or SFTP), and a WordPress administrator login
ClocksBoth servers set to the correct time. Secure requests are refused if the clocks are more than five minutes apart.

SuiteCRM setup

Four steps in SuiteCRM, then the rest happens in WordPress.

  1. Install the Altius Connector In SuiteCRM go to Admin, Module Loader, upload the Altius Connector zip and click Install. When it finishes it runs a Repair and Rebuild for you. You'll find its settings under Admin, Altius Connector, Altius Connector Configuration.
  2. Make sure the API keys exist SuiteCRM needs two small files, called keys, to let other systems sign in to it: 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.

    First, check whether you already have them

    1. Sign in to your hosting control panel (usually cPanel) and open File Manager.
    2. Open your SuiteCRM folder (often public_html/crm or similar), then Api, then V8, then OAuth2.
    3. If you see both private.key and public.key, skip to step 3. If not, create them using one of the three ways below.

    Way 1: cPanel Terminal (easiest, about two minutes)

    1. In cPanel, find Terminal under Advanced. (If your host doesn't offer it, use Way 2 or Way 3.) Already connect to your server with PuTTY or another SSH program? You can type the same commands there instead.
    2. Type cd, a space, then the path to the OAuth2 folder, and press Enter. For example: cd public_html/crm/Api/V8/OAuth2
    3. Copy and paste these four lines, pressing Enter after each:
      openssl genrsa -out private.key 2048
      openssl rsa -in private.key -pubout -out public.key
      chmod 600 private.key
      chmod 644 public.key
    4. Type 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.

    Way 2: make them on your computer and upload them

    1. Mac: open the Terminal app (Applications, Utilities). Windows: install Git for Windows and open Git Bash, which includes the tool you need.
    2. Paste these two lines, pressing Enter after each. The files appear in your home folder:
      openssl genrsa -out private.key 2048
      openssl rsa -in private.key -pubout -out public.key
    3. In cPanel File Manager, open the Api/V8/OAuth2 folder and Upload both files.
    4. Right-click private.key, choose Change Permissions and set it to 600. Do the same for public.key with 644.
    5. Delete the copies from your computer. The private key belongs only on the server.

    Way 3: ask your hosting company

    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.

    Can an AI chatbot help? Yes, as a guide. Claude, ChatGPT or Gemini can explain any step above or help if you get an error message. Just don't ask one to write the key itself and paste it into your server, and don't use a website that offers to generate keys. A private key must be created on your own server or computer, so nobody else ever sees it.
    Still can't connect? On a VPS or dedicated server (no cPanel), the key files must belong to the user the web server runs as, often www-data or apache. Your host or server administrator can set this in a minute.
  3. Create an API user In Admin, User Management, create a user just for Altius, for example 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.
  4. Create the API client In Admin, OAuth2 Clients and Tokens, create a new Password Client. Give it a name (Altius HQ) and a secret, and save. Copy the client's ID and the secret you typed: the Bridge needs both.
    Older guides say Admin, OAuth Keys. That screen is SuiteCRM's older system; the Bridge uses the OAuth2 password client.

WordPress setup

Install the Bridge before any other Altius plugin, connect it, then add the rest.

  1. Install and activate the Bridge In WordPress go to Plugins, Add New, Upload Plugin, choose the Altius SuiteCRM Bridge zip, install and activate. With the Altius Dashboard installed, the Bridge appears under Altius Central, Bridge; without it, under SuiteCRM Bridge.
  2. Fill in the connection settings
    SettingWhat to enter
    Altius app addressWhere your team signs in. Leave it as altius unless that clashes with a page you already have.
    SuiteCRM URLThe 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 PasswordThe altius_api user you created
    Enable SyncLeave off for now. It controls appointment sync with SuiteCRM meetings (see section 6).
    Click Save Settings.
  3. Test the connection Click Test Connection at the top of the page. Success reads "Success! Connected to SuiteCRM as: Altius API (altius_api)" and the status turns to Connected. Anything else: see Troubleshooting.
  4. Install the rest of Altius HQ Add the Altius Dashboard, then the modules you use: CRM Hub, Quotes, Invoices, Purchase Orders, Finance, Scheduler, Portal, Ask Claude and Altius HQ Mobile. Each one finds the Bridge's connection on its own.

Secure the Connector

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.

  1. Generate the secret in WordPressOn the Bridge page, under Secure the connector services, click Generate a secret, then Copy.
  2. Save it in SuiteCRMIn SuiteCRM go to Admin, Altius Connector Configuration. Under Service security, paste it into Secret from WordPress and click Save secret. The status changes to Secured (secret ending in …).
  3. Test it from WordPressBack on the Bridge page, click Test secure connection. You should see "Secured. SuiteCRM checked this site's signature and accepted it; unsigned requests are now refused."
Hosts that block parts of the API. Some hosts refuse the API's update and delete requests before SuiteCRM sees them. The Bridge notices and sends those changes through the Connector's secure service instead, so editing and deleting in Altius HQ still work. There's nothing to set up for this beyond the secret.
Using the Altius Portal? The Connector's configuration screen also takes your WordPress URL and the Altius Ecosystem API Key shown on the Bridge page, so changes to a contact's portal access reach WordPress automatically. Set the portal access field on contact layouts in Studio. The Connector installs the portal hook for you, and the Bridge's Portal Sync tab shows its status.

Appointment sync with SuiteCRM meetings (optional)

For businesses that also work in SuiteCRM's own calendar. Tick Enable Sync in the Bridge settings and save.

  • WordPress to SuiteCRM, instantly. Each new appointment becomes a SuiteCRM meeting named "Appointment: client name", linked to the client's contact (found or created by email). The meeting's description starts with [ALTIUS:number], which ties it to the appointment: please leave that marker in place.
  • SuiteCRM to WordPress, every five minutes. If a synced meeting is moved in SuiteCRM, the appointment moves too; if it's deleted or marked Not Held, the appointment is cancelled.
  • Whose meeting it is. Each meeting is assigned to the SuiteCRM user whose email address matches the staff member's email in the Scheduler. Make those emails match.
  • No double bookings. Before a booking is saved, the Bridge checks that staff member's SuiteCRM meetings and refuses a time that clashes.
  • Time zones. The first synced appointment sets the time offset between the two systems automatically. If times ever appear shifted, click Recalibrate Timezone Offset on the Bridge page and book one new appointment.
The Bridge's Sync Status tab shows when the next check runs and has a Trigger Sync Now button. Using Altius Google Calendar Sync in SuiteCRM as well? Meetings then flow on to each person's Google Calendar too.

Final checks

Five minutes now saves a support call later.

  • Test Connection says Connected, as your API user.
  • Test secure connection says Secured.
  • Open CRM Hub in Altius HQ, edit a test contact's phone number, save, and see the change in SuiteCRM. Then delete a test contact the same way.
  • Create a test quote and download its PDF: your company details and logo should appear.
  • Sign in at yoursite.com/altius/ as a non-admin team member and confirm they see only what their role allows.

Troubleshooting

The message you see, what it means, and what to do.

MessageWhat it meansWhat to do
SuiteCRM URL not configured / OAuth credentials not configured / username/password not configuredA setting is empty.Fill in every connection setting and click Save Settings before testing.
HTTP 401 … invalid_clientSuiteCRM 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 credentialsThe 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 errorSuiteCRM 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-inThe 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 yetThe secure test can't find the Connector's services.Install or upgrade the Connector in Module Loader, then test again.
SuiteCRM refused the signatureThe 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 yetThe services work but are still open.Finish Secure the Connector.
The server blocks PATCH/DELETE … record_update service failedYour 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 meetingAppointment 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 moreThe 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.
For deeper digging, turn on WordPress debug logging (WP_DEBUG_LOG). The Bridge writes its connection and sync messages to wp-content/debug.log.

Need a hand?

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.

christine@altiuscentral.com 480-522-4892 575 W Chandler Blvd, Suite 127, Chandler AZ
Updated October 2026 for Altius SuiteCRM Bridge 2.12.5 and Altius Connector 3.9.2.