📢 We're thrilled to announce that our new App Developer Platform is now available to all customers. We highly encourage all new apps to be built on the platform to take advantage of its expanded capabilities.
For those looking to migrate from our legacy custom apps, we have prepared a comprehensive Migration Guide. This guide will help you seamlessly transition to the new platform.
All existing legacy custom apps will continue to function as before. If you'd like to use the legacy framework to install a legacy custom app, click here. You can still access the documentation for Legacy Custom Apps here.
Please note: While we will continue to support this legacy PHP library, future development will be focused on our new Apps Platform.
Client library to assist with building custom apps that integrate with Help Scout. More information: http://developer.helpscout.net/custom-apps/
- 1.1.1
Please see the Changelog for details.
The Help Scout apps client can be installed using Composer.
Inside of composer.json specify the following:
{
"require": {
"helpscout/apps": "1.1.*"
}
}
use HelpScoutApp\DynamicApp;
include 'src/HelpScoutApp/DynamicApp.php';
$app = new DynamicApp('SECRET-KEY-HERE');
if ($app->isSignatureValid()) {
$customer = $app->getCustomer();
$user = $app->getUser();
$convo = $app->getConversation();
$mailbox = $app->getMailbox();
$html = array(
'<p>Convo</p>',
'<ul>',
'<li>Id: ' . $convo->getId() . '</li>',
'<li>Number: ' . $convo->getNumber() . '</li>',
'<li>Subject: ' . $convo->getSubject() . '</li>',
'</ul>',
'<p>Customer</p>',
'<ul>',
'<li>First: ' . $customer->getFirstName() . '</li>',
'<li>Last: ' . $customer->getLastName() . '</li>',
'<li>Email: ' . $customer->getEmail() . '</li>',
'</ul>',
'<p>User</p>',
'<ul>',
'<li>First: ' . $user->getFirstName() . '</li>',
'<li>Last: ' . $user->getLastName() . '</li>',
'<li>Id: ' . $user->getId() . '</li>',
'</ul>',
'<p>Mailbox</p>',
'<ul>',
'<li>ID: ' . $mailbox->getId() . '</li>',
'<li>Email: ' . $mailbox->getEmail() . '</li>',
'</ul>'
);
echo $app->getResponse($html);
} else {
echo 'Invalid Request';
}
use HelpScoutApp\DynamicApp;
include 'src/HelpScoutApp/DynamicApp.php';
$app = new DynamicApp('SECRET-KEY-HERE');
if ($app->isSignatureValid()) {
echo $app->getResponse('<p>Hello World</p>');
} else {
echo 'Invalid Request';
}