Jorge Paulo

Using and Extending the Activity Template feature (Post 1 of 3)

Blog Post created by Jorge Paulo Employee on Oct 17, 2019


This is the 1st of a set of 3 posts that focus on the Activity Template feature as a starting point to describe various aspects of Aurea CRM, some built-in others available through the Aurea ISI template.


What is achieved by following the instructions can have practical applicability without modifications but should not be set in stone, the main goal is to illustrate how the underlying features can be combined to shape Aurea CRM to individual needs and processes of each organization.


Important: The changes described in this post should not be applied directly to a production system, especially the changes involving the Data Model and CRM.designer configurations. Careful testing should be performed to eliminate the possibility of human error following the instructions or unexpected interactions with pre-existing customizations.


Using Activity Templates

The Activity Template feature, included in the ISI Template for the BTB vertical of ACRM, provides a convenient way to automatically populate a new Activity avoiding the manual work of repetitively setting frequently used combinations of field values.


Let’s take the example of 3 Service Visit activities with different priority, defined as follow for illustration purposes:

  • Low Priority - Not contracted by the customer or following any particular schedule, mostly a courtesy visit to keep in touch and assure everything is going smoothly with the supplied product.
  • Medium Priority - Part of a maintenance contract, needs to follow a strict schedule.
  • High Priority - The supplied product sent an alarm through a remote monitoring channel, the visit is urgent.


Given the 3 hypothetical meaning of each priority, we can conveniently define 3 templates that save us from having to select manually the Type and Purpose,  and to type boilerplate text in the Text and Subject fields, every time a new activity needs to be scheduled.


Template NameActivity TypeText
SV - Low PriorityService Visit

Dear customer,



I would like to inform you that a Service Visit has been scheduled.



I hope the scheduled date is convenient and will be looking forward to the visit.



With my best regards,

SV - Medium PriorityService Visit

Dear customer,



I would like to inform you that a Service Visit has been scheduled.



As part of your maintenance contract and as warranty requirements, this visit must occur on the scheduled date or no later than 2 calendar weeks.



Please inform me promptly if a reschedule is necessary.



With my best regards,

SV - High PriorityService Visit

Dear customer,



due to the need for an urgent maintenance intervention to your equipment, I would like to inform you that a service visit has been scheduled.



Please take into consideration that due to the urgency, this visit must not be postponed.



With my best regards,


The templates would look like this after being defined in CRM.web

CRM.web: Viewing and Creating Activity Templates

The image is self-explanatory of how the templates are defined.


Then, to use the templates, the users simply have to click on the Activity Template selector when adding a new Activity.

The values defined in the selected template are copied to the new activity.


One of the advantages of using Activity Templates is providing the possibility of users defining their templates on their own, without the overhead of developing equivalent functionality using CRM.designer or CRM.core features only available to administrators and developers.


Everything described so far can be put in practice by any user, as long as access to the feature and write permissions to the Activity Template (A031) info-area are provided.


Extending the Activity Templates feature

This section was inspired by a footnote on the ISI Template Guide document that reads as follows:

“If you want to add a new field to the Template, you need to add it in the data model and configure the Select function to copy the A031 field to the correct MA field.”

Although it does not go into details, this tells us that activity Templates are extensible and customizable, which is true for most Aurea CRM features.


To illustrate the latent extensibility, let’s consider the following requirements not achievable with the unmodified default feature:

1. Service Visits must include a pre-defined set of additional participants

    • the Maintenance team leader;
    • up to 2 trainee engineers to optionally come along for on-the-job training.

2. A global disclaimer text must be included in all Service Visits

    • It must be identical in all newly created Service Visits;
    • It needs to be regularly revised and updated in a centralized way.

3. The name and email signature of the user must be added to the activity text with the following format

    • Company Name
    • FirstName LastName
    • Job Title


Let’s proceed with the implementation of the requirements.

  • From this point on administrative privileges are required
  • It is also a good moment to moment to remember that these instruction are not intended for direct use in a production environment


1. Service Visits must include a pre-defined set of participants


a) Extending the data model


When we consider this first requirement the first thing we notice, after accessing the Win Maintenance module, is that by default the info-area A031 does not contain any fields to hold participants.

The obvious thing to do is to add the missing fields.


We know we need several participants which can leads to the following decision

  • The suitable field type is uid which can hold the identifier of a user (or Rep)
  • An array of fields is a good option given we need to store a variable number of participants
  • Additionally we will need an auxiliary Text field


These changes can be made on the Main station using the Win Maintenace module, as illustrated below:


Before proceeding to the next step don’t forget to:


b) CRM.designer Configuration


  • Activity Template (A031)

    • Add the 1st Participant field and the auxiliary Text field to the A031 Details Field Control


var idx;
var value = "";
var participants = $.getValue();
for(idx=0; idx < participants.length; idx++)
        //value+=participants[idx]+",:0;"; //required
        value+=participants[idx]+",:1;"; //optional
        //value+=participants[idx]+",:2;"; //information
$.setValue(7012, value)


  • Activity (MA)

    • Extend the Select-Function of field Template Name (6005) to copy the auxiliary field of the Template(7012) into the Participant(12) field.
    infoAreaId: "A031",
    searchAndListName: "A031",
    useAutoSearch: true



  • Assure the template does not remove the current user as a required participant by using a Hook Function in field (6005).
//make the current Rep a required Participant
var templateParticipants = $.getValue(12);


c) Result in CRM.web


As intended, it is now possible to pre-define up to 3 participants through an Activity Template.


Although the implementation required a sophisticated intervention, only possible to developers and administrators, the end-result can be used in a generic way by the users who can continue to create and maintain their templates.


Final Words


Thank you for time and attention while we went through a few of the techniques that can be used to tailor Aurea CRM to specific requirements.


This is the 1st of 3 posts.


On this post we implemented the 1st requirement

1. Service Visits must include a pre-defined set of additional participants

The following posts will cover the 2 remaining requirements:

2. A global disclaimer text must be included in all Service Visits

3. The name and email signature of the user must be added to the activity text


Intentionally, the technical details of how the requirements will be implemented are not provided in advance as a way to encourage the imagination.

Often there are multiple ways to meet requirements, it can be interesting to see if the reader’s ideas will match the ones posted.


Your feedback and suggestions on what we should cover next and how are welcome, please help us make these blog posts useful and relevant.



Support Knowledge Base

SDK Reference

Online Product Help