Third-Party Integrations: Pusher

Use a Pusher protocol compatible service to receive real-time updates via web sockets.

Contents

Activate or Deactivate Integration

The Pusher integration is disabled by default and needs to be activated before use.

  1. Visit Settings -> General -> Third-Party Integrations.
  2. Find the Pusher integration and click the "Activate" link located on the left of the table.
  3. The page will reload confirming the integration has been activated.

Third-Party Integrations

The integration can be deactivated by following the above process, but using the "Deactivate" link instead.

Integration Settings

Jump ahead to get started using your chosen service:

Using Pusher.com

  1. Create a free Pusher account if you don't already have one.
  2. Sign in to your Pusher account.
  3. Click 'Create App' in the top right.
    Create App
  4. Enter a name for the app and choose a cluster, keep the other fields unfilled.
    Create Channels App
  5. Once the app has created, click on the 'App Keys' option on the left.
    App Keys
    App Keys
  6. In SupportPal, click 'Settings' under Pusher, enter the values as shown and click 'Validate Authentication'. If successful, then hit 'Save'.
    SupportPal Integration Settings
    SupportPal Configuration

Using Docker

Our Docker deployments come with a ready to use web socket server, no additional configuration is required.

Using Linux

SupportPal includes a built-in web socket server. By default, it will listen on port 6001 so please ensure that port allows public traffic.

  1. Install supervisord:

    Debian / Ubuntu

    
                sudo apt install supervisor
            

    Red Hat / CentOS

    
                sudo yum install supervisor
                sudo systemctl enable supervisord
                sudo systemctl start supervisord
            
  2. Add a new supervisord config file:

    Debian / Ubuntu

    
                /etc/supervisor/conf.d/websockets.conf
            

    Red Hat / CentOS

    
                /etc/supervisord.d/websockets.ini
            

    Replace the command paths and user directives to match your installation. Using a different user to the rest of your helpdesk will result in issues.

    Debian / Ubuntu

    
                [program:websockets]
                command=php /var/www/supportpal/artisan ws:serve
                numprocs=1
                autostart=true
                autorestart=true
                user=www-data
            

    Red Hat / CentOS

    
                [program:websockets]
                command=php /var/www/supportpal/artisan ws:serve
                numprocs=1
                autostart=true
                autorestart=true
                user=apache
            
    This configuration ensures the server is automatically started on system boot and also automatically restarted if it crashes.
  3. Configure an SSL certificate by creating config/production/websockets.php within root of your SupportPal installation. You can use any of PHP's built-in SSL context options, a subset of these is demonstrated below.
    
                <?php return [
                    'ssl' => [
                        'local_cert' => '/absolute/path/cert.pem',
                        'local_pk' => '/absolute/path/key.pem',
                    ],
                ];
            
  4. Update and start the server.
    sudo supervisorctl update
  5. Click 'Settings' under Pusher, scroll down and hit 'Validate Authentication' to verify everything is working as intended.

Troubleshooting

Unable to receive real-time updates. Please check your internet connection.

Unable to receive real-time updates

If you see a banner showing "Unable to receive real-time updates. Please check your internet connection." on pages after fully configuring Pusher, it indicates there is an issue with the Pusher connection. If you do not have any issues with your internet connection, check the console in your browser's developer tools where any specific errors thrown by Pusher are logged.

We also recommend to re-validate the authentication details in the integration settings to confirm it is still valid.