Remote Control by Example
Overview
With Dux-Soup Remote Control you can trigger automated LinkedIn actions from outside of the web browser. This means that you can e.g. trigger the sending of a connection request, including a personalised message, to a specific profile in LinkedIn from e.g. Hubspot. You can trigger this when a new lead is created and their LinkedIn profile URL is added. The Remote Control function of Dux-Soup enables you to include LinkedIn campaigns without leaving your lead management system!
Remote Control can be enabled in Dux-Soup Options -> Connect Tab [1]. Simply toggle the switch to enable your Dux-Soup to be remotely controlled:
Connection Details
The connection details are required to connect to your Dux-Soup. They consist of 2 parts:
- Remote Control URL : All remote control commands that need to be received by your Dux-Soup should be sent to this address. More on sending commands later!
- Remote Control Authentication: All remote control commands need to be signed using this authentication key. So don’t share this key with anyone who shouldn’t be able to control your Dux-Soup. Commands that are not properly signed for the target connection are ignored.
Commands
Remote Control supports the following 5 commands: visit, connect, message, wait, reset. When these commands are sent to the Dux-Soup servers, they will wait in a queue. They will remain in the queue for up to 31 days to be picked up by the Dux-Soup extension.
Visit-Command
This command will open the target profile in a new tab on the remote. After the command has executed the remote will close the tab.
Parameter(s)
profile | Target profile URL |
runafter | Schedule the command to run after a set time ( optional ) |
Connect-Command
This will open the target profile in a new tab and will attempt to send a personalised connection request. After the command has executed the remote will close the tab.
Parameter(s)
profile | Target profile URL, ideally a 2nd or 3rd degree connection |
messagetext | Personalised message to be sent with the invite. Can contain placeholders, e.g. _FN_ |
runafter | Schedule the command to run after a set time ( optional ) |
Message-Command
This will open the target profile in a new tab and will attempt to send a direct message. After the command has executed the remote will close the tab.
Parameter(s)
profile | Target profile URL, must be a 1st degree connection |
messagetext | Personalised message to be sent with the invite. Can contain placeholders, e.g. _FN_ |
runafter | Schedule the command to run after a set time ( optional ) |
Wait-Command
Tell the remote robot to wait for a number of seconds before fetching and executing the next remote control command.Parameter(s)
-
Testing Commands
Dux-Soup includes a tool that allows you to try out commands and / or generate the corresponding ‘curl’ [2] commands to execute from any command line. To use this tool just point your browser to https://app.dux-soup.com/web/rc/test
Example with ‘curl’
Example with Request
Signing Commands
To successfully deliver a command to the remote the request will need to include the cryptographically signed header ‘X-Dux-Signature: [SomeHash]’
The value can be calculated as follows. In this example code we use the jsSHA Javascript library [3], but any SHA library will work as long as it support SHA-1, HMAC and BASE64 encoded output:
var shaObj = new jsSHA("SHA-1", "TEXT"); shaObj.setHMACKey(<duxsoupapikey>, "TEXT"); shaObj.update(<commandrequestjsonbody>); var hmac = shaObj.getHMAC("B64");<br>
Where hmac will contain the required value.
Required Fields
Please note that the JSON request body should contain the following fields to ensure acceptance by the remote:
command | Command Identifier, e.g.. ‘connect’ |
targeturl | The target URL of this command, where the command is delivered. Should start with https://app.dux-soup.com |
timestamp | Current ‘unix’ time in milliseconds. |
userid | The userid to which the command will be sent for execution. Should correspond to the userid in the target URL. |
Zapier Action
[1] Remote Control is only available in Dux-Soup Turbo Edition