Purpose
You can automatically send emails, web requests (webhooks) or notifications after pre-defined events are triggered in RCM and the API's. For example, when a vehicle is returned, you may want to automatically send an email to the hirer to complete a survey, or trigger a third-party application like Trustpilot or Survey Monkey.
Please be aware that the set-up of the web request option of this feature requires knowledge of web development. If you need assistance with the set-up then please contact
support@rentalcarmanager.com.
Accessing Automation
System Setup >> Automation
Triggers
Actions and tasks are run only when triggered by an event. Each trigger falls under an overarching category and they include:
Rental Car Manager Events
- Quote created in RCM
- Quote converted to a booking by hirer
- Booking Created
- Booking updated
- Booking Allocated
- Booking Hired
- Booking returned
- Booking cancelled
API/Web Booking Events
- Quote created
- Quote converted
- Booking created
- Booking cancelled
Payment Gateway Events
- Payment Gateway payment processed
- Payment Gateway authorisation processed
- Payment Gateway refund processed
Telemax Events - Telemax Alert
Availability Engine Events - Availability Engine Booking Conflict Alert
Vehicle Damage Events
- Damage record created
- Damage record updated
Change Vehicle Events - Vehicle changed
Payment Subscription Events
- Subscription created
- Subscription cancelled
- Subscription payment successful
- Subscription payment failed
- Subscription payment action required
- Subscription payment error
Reservation Automation Tests - Manual test
Vehicle Damage Automation Tests - Manual test
Payment Subscription Automation Testing - Manual test
Schedule
The task can be set to run
- "Immediately" - as soon as the trigger occurs
- "After the event" - a set number of days after the trigger occurs
- "Before the event: - a set number of days before the event id due to occur. Please Note: this is only available for the Booking Hired and Booking Returned triggers.
Tasks
Tasks define what actions will be run when an event is triggered. You can create multiple tasks for each event.
Creating a new task
Click the Create Task button to create a new task.
The form will appear with different fields depending on what Action is selected - Email, Web request or Notification.
Please see below for examples of all actions.
Field descriptions:
- Description - The name or basic description of the automation
- Active - Only active tasks will be run when an event is triggered. You can however choose to run inactive tasks for testing purposes before you make a task active.
- Trigger - Select the event that will trigger this task
- Schedule - As described above, tasks can be scheduled to run either immediately or a specified number of days after the event. For "Booking hired" and "Booking returned" events you can also schedule a task to run before the event. For example, you may want to send a reminder email to the customer 2 days before pickup.
- Conditions - Specify the conditions that must be met for this task to run. For scheduled tasks, conditions can be evaluated when triggered and/or when run.
- Task- Either Email, notification or Web Request
- Template - This depends on the Task
For emails:
Field
| Description
| Required
|
From Address
| Enter the address that the email is coming from. This value is
used to determine which mail server settings will be used to send the
message. You can also use a place-holder by clicking Insert Data Field
and selecting Location >> Email or Company >> Email | Yes
|
Recipients
| A single email address or a comma separated list of email
addresses. To send to the hirer, select the place-holder Hirer >>
Email Address from the Insert Data Field pop-up.
| Yes
|
Subject
| Enter the text for the subject. You can also use booking details by
selecting a data place-holder from the Insert Data Field pop-up.
| Yes
|
Template
| Template - this is the template for the body of the email. You can
insert as many place-holders as required from the Data Field drop-down
box. The place-holders will be converted to data from the booking
before the email is sent. You can choose between a formatted (html) email or a plain text email by clicking the appropriate button.
| No
|
For web requests:
Field
| Description
| Required
|
Url
| Url of the request including the scheme (http/https), domain and port (if applicable)
| Yes
|
Query String Template
| An optional template that will be used to create the query string of the
request. You can also use booking details by selecting a data
place-holder from the Insert Data Field pop-up. Don't include the ? at
the beginning as this will be done when the request is generated.
| No
|
Http Method
| Select either GET, PUT or POST
| Yes
|
Headers
| A json array of headers to be added to the request. This can be used
for GET, POST and PUT requests. This text must be in the format:
[{"name": "header1", "value": "header1value"},{"name": "header2",
"value": "header2value"}, ...]
| No
|
Content Type
(Http POST method only)
| Content type of the request being sent. Available options are:
- JSON
- XML
- Form Data
- Plain Text
| Yes (if Http Method is POST or PUT)
|
Template
| Template to use for the request content. Booking data fields can be used by inserting place-holders using the Data Fields drop-down list.
All booking data can be sent in the request body by inserting this place-holder: *{bookinginfo}*
When the request is generated, the place-holder will be replaced with the output from the bookinginfo method of the Post Booking API. The content type will be set to "application/json".
| Yes (if Http Method is POST or PUT)
|
For notifications:
Field
| Description
| Required
|
Subject
| Enter the text for the subject. You can also use booking details by
selecting a data place-holder from the Insert Data Field pop-up.
| Yes
|
Message
| Template - this is the template for the body of the email. You can
insert as many place-holders as required from the Data Field drop-down
box. The place-holders will be converted to data from the booking
before the email is sent.
| Yes
|
Send To
| Select a group of users, or individual users, to send the notification to.
|
|
Placeholders
Placeholders are used to specify the location in the template where booking information will be inserted. Different placeholders are available for tasks with different triggers.
Examples:
- *{Reservation.ReservationNo}* - will be replaced with the reservation number when the task is run
- *{Reservation.PickupDateTime|yyyy-MM-dd}* - will be replaced with the pickup date, in the format yyyy-MM-dd (e.g. 2022-01-01). You can manually change the date format.
Most placeholders can be inserted anywhere in a template but there are some that must be the only text in the template.
Examples:
- *{bookinginfo}* - will be replaced with all booking info in the same format as the Booking Info method from the RCM API.
- *{email_CustomerInvoice}* - will be replaced with html version of the customer invoice.
Examples
Task Template with Email action:
Task Template with Web Request action using POST method:
Task Template with Notification action:
Testing an event / trigger group
You can test some tasks at any time by clicking on the "Test" button next to an event group:
You can choose to include the inactive tasks if you want to test them before making them active. You will be prompted for a booking reference to run the test. We suggest that you select / create a test booking so that email tasks aren't sent to real customers.
History
Click on the History / Logs tab to view a history of tasks that have been run. By default, records from the last 7 days are shown, with most recent first. Click the "Filter" button if you wish to run this for a different time period.
Logs records are kept for 30 days.
Scheduled Tasks
Click on the Scheduled Tasks tab to view a list of tasks that are waiting to be run. These are the tasks that have been triggered but have not been run yet because they have a delay.
Failed tasks
Click on the Failed Taks tab to view a list of tasks that have failed. The main reason for a task failing is if a scheduled task does not meet one of its conditions at the point when it should be sent.