top of page

Message Events

Available on version 1.1.0+
Package Tiers: Freemium, Basic, Advanced.

​

This article will show how to setup a message to track the user and set criteria to show or hide a message based on those events.

​

We can start asking what is a message event/track?

Message event is an action that the user have done against the message, for now we have only two events which is the load message and lock message.

We also have an object called message event, this object has the event when the user loads the message and the message is displayed to the user. In other words, when the user sees the message, we will create a record inside of this object, which means for each message and user and record id that the user sees, we would create one record.

​

Example:

​

If user access Case Record Page and we have only one message there to show only when the Case is closed, and this case the case is closed and the user sees the message then we would create a new record inside of the Message Event Object.

We would create a new record only because for this message, and user and record id, there was no record already in the object. If we had a record for the Message Id, and User Id, and Record Id, we would not have create the message event record. If the user access the same case, we would not do anything. If the user access a different case, then we would create an event for that record.

​

We do have some edge cases which might not support, such as if you add message A in two different Dashboard, so if the user access Dashboard X, we would create one record, if the user access Dashboard Y, we would not create any record. To overcome this, you would need to create a clone of your message and add on Dashboard Y. If you have this scenario, please let me know, so I can add that in my list of future features and I can prioritize that.

​

By default the Message event is disabled, and you would need to enable that if you want to track that. Remember that will create records in your org, and if you have too many users you might have a logic to clean that if you don't want to track that for a long period.

​

In order to enable that you can go to EvoluteMessage Dashboard. Click to create/change a message then:

1. Click on Events

2. Click on Message Event Enabled

3. Click on Close

4. Publish your Message

​

EnableMessageEvent.png

Now that you have enabled the Message Event, we can work on Show or Hide the Message based on those events.

​

We have 4 type of filters to show the message:

​

1. Once per Record

This option will show the message only once per Record, which means we show the message only once for the user first user who saw that message.

 

Example: We added the message on Case Record Page, so User A accesses the Case A1, and the message have displayed for the user, in this case the user can sees the message because it was the first user. Now if the User A access again the Case A1, he would not see the message again, if User B access the Case A1, they would also NOT see the message. Because the logic is to show the message only once for that record.

Now if the user A accesses the Case B1, we would show the message again for this new record, and use the same logic above for the Case B1.

​

2. Once per User

This option will show the message only once per User, which means we show the message only once for that user, even if the access a different record.

 

Example: We added the message on Case Record Page, so User A accesses the Case A1, and the message have displayed for the user, in this case user can sees the message because it was the first time the user saw that message. Now if the user access the Case A1 again, he would not see the message, and if the user accesses the Case A2, which is another record, the user would NOT see the message as well. If the User B access the Case A1, they would see the message, because this is the first time the user is seeing that message. This happens because the message is available to view only once per user.

​

3. Once per Record and User

This option will show the message only once per Record and User, which means we show the message only once for that Record Id and for that User Id.

 

Example: We added the message on Case Record Page, so User A accesses the Case A1, and the message have displayed for the user, in this case user can sees the message because it was the first time the user saw that message for that record id(case a1). Now if the user access the Case A1 again, we would not show the message, because for that Case A1 the user saw the message already. If the user A1 accesses the Case B1, he would see the same message, because for that record this user has not seeing the message. So now for this User A1 the message would NOT show for Case A1 and Case B1, because we show the message already for those record and user. If user B accesses the Case A1, we would show the message, because this user have not seeing the message for Case A1 and Case A1 have not register that we show for this user. The same logic applies for user B, on Case B1, the system would show the message because for that user and record, the system doesn't have any record.

​

4. In Record Page is Locked

This option will show the message if the page is locked for another user. Check more about this feature here: Identify Multiple Users

​

Example:

User A accessed the Record A, now this record A is locked(We register an event for this record of the type locked), If User B access the Record B, we will show the message for user B because the Record A is locked for User A. The threshold hold is how long that would be locked for User A. That would be updated for user A every time we refresh the page, and that is why this feature is used with Auto Refresh.

​

​

These scenarios can be set using the Filter in the EvoluteMessage Dashboard. These scenarios also applied when you are on builder, so if you see the message on builder and you try to see the message after you published the page the message won't show.

​

Let's say you want to test that because you saw the message on builder or you have tested with the user test and you want to reset the configuration.

​

We have an option in the Events that you can clean the events 3 types:

​

1. Delete All Events

Which we would delete all the events for this message. It is only for this message. If you want to clean for everything, which I mean for all the messages you have, you can do through Developer Console and do a query to Message Event object and delete everything. If you use that a lot let me know so I can add a button in the settings to clean up all the events.

​

2. Delete Events by Record Id

The system will delete all the events for that message and record id that you provided.

​

3. Delete Events by User Id.

The system will delete all the events for that message and user id.

​

I did not add Record and User Id, but if you see a scenario like this please let me know so I can add that as well.

​

In order to go to these options you go to EvoluteMessage Dashboard, then click on Edit in the message you want to clean the events, then click on events and Clean Events tab.

MessageEvent_CleanEvents.png
Permissions

​

We only have the Message Event Object, and users need access to create and delete, we don't do any update on this object. 

​

User Builder

The EvoluteMessage Builder permission set, has access to read, create, delete and see all and modify all for the Message Event Object. This permission set should be assign only to users who is building messages not to end user.

​

End-Users

They will need the EvoluteMessage Show Message Permission set, which will have access to Create and Read records from Message Event object. We need this access because every time the user access a message and we have the Events enabled for that message we might create a record or not.

​

​

Privacy

When enable this event, we do collect the end-user's IP Address and save that into Message Event Object.

Currently that information is not being processed or used anywhere, we do intend to use that for future features, such as know which guest user is accessing the message. 

​

This information is not shared and that lives in your org.

​

©2025 by EvoluteMessage

bottom of page