Actions
Cloud Actions vs. Local Actions
There are 2 type of actions:
Cloud Actions: these actions could be executed in the cloud / on the servers of Peripass. There are no limitations to these actions.
Future Cloud Actions: These actions will be executed in the cloud in the future. This migration is in progress. During the migration it can happen the action sometimes executes from the cloud and sometimes executes from the local network.
Local Actions: these actions have to be executed in the local network of the site (e.g. taking a picture, creating a pincode on a local access control system). To connect to the local network, Peripass uses the Local Action Worker of the Site. Therefore, these actions can only be added in triggers that are limited to a single site.
Cloud Actions | Future Cloud Actions | Local Actions |
---|---|---|
Grant/revoke physical access through PIN-Point | Visitor - change status Free up yard location(s) in the Dispatch Dashboard | Grant/revoke physical access through ACS |
Visitor: change custom field | Visitor: change custom field | |
Visitor: make voice call | Visitor: change onsite / offisit | |
Visitor: change profile | ||
Visitor: extend profile validity | ||
Visitor: free up yard location(s) | ||
Send email | Print ticket | |
Change onsite/offsite | Execute an action on an Axis module | |
Change visitor’s status | Execute process on local server through command line | |
Execute an API call - from the Peripass cloud | Execute an API call - on a local server | |
Send text message | Take picture with IP camera | |
Call external interface | Execute an action on an ANPR camera | |
Send E-ticket | Print documents | |
Change custom field | ||
Create task |
Cloud actions vs. execution in the cloud
Despite their name, not all “cloud actions” are executed in the cloud.
All asset actions are executed in the cloud
All actions related to a asset trigger, are executed in the cloud. Remark that you don’t need a Local Action Worker to configure triggers & actions on assets.
) in the cloud
Visitor action ‘Change custom field’ executed(As start of the transition to execute visitor ‘cloud actions' effectively in the cloud, a first visitor action Change custom field is now executed in the cloud.
Please note that there are still situations where this local action worker will execute this action:
Example 1 | Example 2 | Example 3 |
---|---|---|
|
|
|
Both actions are executed in the cloud | Change custom field actions are executed in the cloud. The last action is executed by the LAW (since not supported in the cloud) | Second ‘Change custom field’ action is executed by the LAW since the LAW became part of the game by the second action. |
All other actions are executed by a Local Action Worker
Visitor actions designated as "cloud actions" are still executed by a Local Action Worker (randomly assigned). These actions are currently set up this way because there are plans to transition them to the cloud in the future..
Extra info on certain actions
Access Control system Action
With this action we are able to create or remove pin / badge in ACS system.
It’s also possible to update the access group of a visitor. With access groups we can define whether truck drivers have access to the IT department building or not.
Check the ACS page to verify if the customer’s ACS is currently supported.
Only available if you have a trigger service running that is configured for a certain ACS system.
Free up dock(s) in the Dispatch Dashboard
It is possible to use automation to remove your visitor from the current location. You visitor will remain on the same status and will remain “onsite”.
When a visitor transitions to “departed” they are always automatically removed from their yard location.
Change onsite/offsite
It’s always important to have a good knowledge of the real location of the visitor. Therefore we allow to change the action from onsite to offsite and visa versa. When a visitor has used the PIN code at the exit barrier, we trigger the action to set the visitor offsite.
Send email
It’s possible to send an email to the visitor but you can also change the TO and put people in copy (CC) and even blind copy (BCC).
You can also send an email to the host by using %CurrentHostEmail% as email value.
The email action is not an HTML field, but plain text.
A maximum of 20 email addresses can be added per action that sends an email.
Send SMS message
You can send a text message to either to the mobile number of the visitor, or to a fixed mobile number.
A maximum of 10 phone numbers can be added per action that sends an SMS.
When a text message remains undelivered after 20 seconds, an app notification will be created to inform the users in Peripass. More information on app notifications can be found here: Send text message (SMS) .
In the content of the text message, autofill fields allow you to dynamically change the content based on information of you visitor.
There is currently no support for other messaging services other than text messages. However if required this could be obtained by using the webhook and integrating with the public API of this messaging service (e.g. whatsapp for business).
We strongly advice against using your own message service for sending mobile text messages. Some reasons:
Test messages are business critical and therefore it is important to take this service very seriously
Peripass has a partnership with a global text messaging provider that guarantees high uptimes.
Increase text message delivery rates requires a complex setup taking into account short codes, carrier blacklists, preferred sending numbers if necessary (e.g. messages to a Polish number are best send from a Polish number), optimise carrier network and much more. Peripass takes care of all these.
Peripass continuously monitors delivery rates & provides feedback to the dispatcher in the unusual event a text message could not be delivered. This way operations are not impacted.
Troubleshooting: how come my accents disappear when sending a text message?
To reduce the average SMS length, Peripass uses a parser (transliterator) to replace special ‘Latin’ characters with their regular counterparts. Some examples of the mappings that are applied:
ê, ę → e
ç → c
ó, ő, ô → o
ř → r
…
Applying this transliteration will have the effect that fewer messages will need to be encoded in a special way (which limits the number of characters per message to 70). The impact on readability is expected to be limited.
The transliteration algorithm will not change anything to Cyrillic messages.
An example
Before transliteration: 9 text messages are required for sending out this single communication.

After transliteration: only 4 messages are required

Make a voice call
This action aims to enhance communication in scenarios where SMS delivery fails. Voice calls offer an alternative method of reaching drivers when SMS messages are delayed due to technical issues with carrier networks.
❗Beta feature
This feature is currently in beta. Depending on its impact, we may adjust its availability:
If successful: We may retain and potentially charge additional fees to cover costs associated with voice calls.
If not impactful: We may phase it out.
Recommended setup
Trigger Type
Time based trigger, every X minutes
Trigger Condition:
Driver status is Checked-in
Drive location is Offsite.
Latest update is older than X minutes.
Action:
Initiate a voice call using the same message content as the SMS text.
Print ticket
Through this action we are able to print a ticket. This can be an adhesive visitor badge or an access barcode. We are able to add autofill fields like the name of this visitor or the date of today on the tickets.
Print document
This action prints a workflow document. More information: Contactless document handling .
The list of printers shows all network printers installed on the same server as the Local Action Worker.
Send E-Ticket
It’s one of our best practices when customers are working with the calendar connector to send out an E-ticket. This is to accommodate a branded invitation to external visitors which allows a swift registration via a barcode on the Self Service Kiosk.
Only available if you have a trigger service running that is configured for a certain ACS system.
Change visitor status
As you know, the visitor journey touches a lot of different statuses from logged to eventually checked-out. There are some status changes that can be triggered automatically, but if not it’s always important to push the visitor in the desired status.
It’s also important to think about fallback scenarios. If for example the exit barrier is broken and it’s in forced open position until maintenance can fix it, you might need to configure a trigger that changes the status of all office visitors after midnight to checked-out.
Update custom field
Through this action we are able to change a field’s value into another fixed value. This could be interesting to anonymise the phone number or other personal data fields.
Execute an action on an Axis module
With this action we can perform an IP call to an Axis module that brings a little bit of extra intelligence to hardware.
A typical configuration is that an Axis module knows if it needs to send a signal to a specific relay in order to open barrier 1 or 2 and how long this relay needs to be opened.
Another example is that the Axis module sends a signal to a buzzer in order to alert employee in case a visitor arrives.
Execute a process on local server through command line
It is possible to initiate a script which can be placed on a folder path on the local server of a customer.
Execute an API call - from the Peripass cloud
Via this action we can trigger API calls to an external system or even to the customer’s own tenant. Via an API call we can also trigger calls to an intercom.
XML and JSON formatting are supported for the body of the API.
Custom headers can be added.
Authentication: either with a token in the header/url or by OAuth with credentials.
Retry policy: if the external system returns an error (on all 400 or 500 codes) or a timeout of 100 seconds is reached, the service will retry up to 5 times (after 4 minutes, after 12 minutes, after 28 minutes, after 60 minutes).
Be carefull when using the “API call - from the Peripass cloud”.
We are still executing “Cloud Actions” from a random Local Action Worker. Please manually verify your endpoints are available from the public internet to avoid issues when we migrate these actions to the cloud.
Execute an API call - on a local server
This is exactly the same action as described above, with the single difference it is executed in the local network of the customer. Therefore it can be used to connect to applications that are locally hosted or only reachable from an server within the local network.
Take picture with IP camera
The action is self explanatory, we can take a picture with an IP camera. It might be useful to have a visual proof that somebody registered at the Self Service Kiosk.
Read more about the storage lifetime of these pictures: Data retention policies and storage limitations | Local-attachments
Save IP pictures local or in the cloud
In the ‘General settings’ you decide how to store IP pictures:
on the customer’s local server, with a folder cleanup policy typically configured during the project setup (e.g., a retention period of one month)
in the cloud
Note that his configuration can only be enabled when the Local Action Worker has version 1.104 or higher.
Once the pictures have been marked for storage in the cloud, this action can’t be reverted!
Save picture on asset
You have the option to save the IP picture to a specific asset. Simply choose which asset to link based on your camera's location—either the drop-off or pick-up asset. If no asset is linked, the save action will not trigger an error; instead, it will simply not perform any action.
To save IP pictures on assets, you must configure your tenant to store IP-pictures in the cloud.
🖥️ How to configure
What IP cameras do we support
The camera should have a cgi or api and support the ONVIF protocol.
Save pictures on the local server
Create a file path on the server where the local action worker is installed
Then add ask support to add the following keys to the local action worker settings:
add the keys below in <appSettings>
<add key="imageStoragePath" value="C:\ProgramData\Soft Ages\photos" />
<add key="imageRetentionDays" value="180" />
Examples http calls per camera type
AXIS: (demo, XPO)
http://192.168.160.70/axis-cgi/jpg/image.cgi
Hikvision: (Reynaers Aluminium NV)
http://192.168.161.41/streaming/channels/102/picture
For model iDS-2CD7A86G0-IZHSY (firmware v5.8.30) the call changed to: http://<ipaddress>/ISAPI/streaming/channels/1/picture
Source: Get still image through URL from Hikvision NVR [SOLVED] | IP Cam Talk
VivoTeK FD9167-HT: (Euro-Rijn Lidl)
http://10.20.179.113/cgi-bin/viewer/video.jpg
Call external interface
Via the external interface we are able to send XML messages to an Amazon SQS queue.
Change profile and/or operation type
When a customer uses an external software to import expected visitors in Peripass (e.g. using the Alpega TMS (Transwide) integration or Transporeon TMS integration), there is no way of immediately adding the correct Peripass profile to each one of them. The visitors are imported as a generic TMS profile.
To automatically assign the right profile to visitors, the “change profile and/or operation type” action can be used. Based on certain conditions, visitors can be allocated a new profile and/or operation type based on their parameters.
See also: Public API & Integrations | Profile-mapping

Change validity
For the same situation as the change profile mentioned above, a visitor that is imported in Peripass using TMS for example, only has one specific day to arrive. When the customer wants to add more flexibility to the visitors arriving one day to late or early for example, the change validity action can be used.
The action can extend the validity period with x days before and/or after the current validity period.
See also: Public API & Integrations | Profile-mapping

To avoid to “Endless loops” (an visitor update by T&A is triggering the same trigger again), it is best practice to add a condition “Last modified is not T&A” or “Last modified by API”.

AutoFill fields
General principle
Autofill fields are a way to send visitor specific information using Trigger and Actions.
It works like this:
You add a placeholder in your text.
When the Trigger is fired for a specific customer, the placeholder is replace by the actual value for your visitor.
Example.
Initial SMS configuration | Actual SMS send to driver |
---|---|
Hi! Please drive to %yardlocation%. Use code %pincode% to open the barrier. | Hi! Please drive to Gate 15. Use code 1391 to open the barrier. |
The UI of the configuration wil indicate which AutoFill fields are available. If you click on the green link, it will display all available autofill fields.

Some special autofill fields
Object | Autofill field | Remarks |
---|---|---|
Pincode | %Pincode% | Be sure to only use this autofill field after a pincode was created. Check this article about the execution order of actions: Execution order, execution time, error handling & retries |
Dispatch dashboard slot | %DispatchDashboardSlot% | The name of the location where a driver is being send to. Remark: this is not a timeslot. |
Download link for workflow document | %Attachment.url|CMR% | This generates an url that can be used to download a workflow document. It can be used to send documents digitally by email or even text message. The link is always valid for 10 days starting from the creation date. More information on workflow documents: Contactless document handling |
Date and timestamp | %PersonStatusTimeStamp.Logged|WaitingForApproval|WaitingForDispatch|CheckedIn|WaitingForDocuments|ReadyForCheckout|CheckedOut|Blocked|{{DateTime format string}}|{{Timezone}}% | Documentation on how to use: Datetime formatting and timezones
|
Known limitations
The date and timestamp autofill field is not translated. So when you choose to format a date and timestamp in a long text (e.g. Monday 3 June 2023), the “Monday” and the “June” part will always be in English.
Communication (E-ticket, Mail & SMS)
There are some typical fields such as Phone number or E-mail that can be used to start communication with stakeholders. Based on an event, we can use the content of these fields to send an SMS to the visitor with information or instructions via triggers and actions.
Through the e-mail address we can of course send mails to visitors. We use this mainly for the E-ticket, but it can be used for other purposes.
Example - SMS
Example visitor:
Visitor John enters his name and phone number during the registration process. After the registration process we can use his input to welcome him:
”Welcome John at Peripass,
Your contact person has been informed of your arrival. Please take a seat at the reception where you can serve yourself with coffee or water.”
Example yard:
A truck driver arrives at the premises, parks at the waiting area and starts his registration in the kiosk. After a while the dispatcher assigned gate 16 to the truck driver on the dispatch dashboard:
“Peripass is ready for you!
Please, drive to gate 16 to start the loading operation.”
Integrations
In case of an integration with a back-end system (WMS, ERP or TMS), the input of fields or status changes can be communicated between systems.
Example - Shipper Profile
When a slot is booked via a TMS by a carrier, an API is called to send information to Peripass. Typically, the slot reference and booked time will be communicated.
Conversely, Peripass will also return information when the registration of arrival has been completed by the truck driver on a Self-Service Kiosk. Triggers & Actions will call a webhook, that contains information from the corresponding custom fields (License plate, trailer reference, pallets, …).