Front-end events are actions on the product UI, such as button clicks and changes/updates to the UI field values. Events method is an interface that the developer platform provides, to enable your app to react to front-end events.
To enable your app to react to front-end events, in the app.js file,
- Subscribe to the app.initialized event, through an event listener. When the app is initialized, the parent application passes a client reference to the app.
- After app initialization,
- Use the client reference, subscribe to <Event name> and register a callback method to be executed when the event occurs.
- Define the callback method.
When the event occurs, a payload is passed to the callback method. Let us call this payload event. event.type returns the name of the event. The event.helper.getData() helper method returns a JSON object that contains information pertaining to the event. Your app logic can process this data into meaningful results.
For a demonstration of this feature, take a look at the events method sample app.
This section,
- Lists, page-wise, all the front-end events to which the app can react.method.
- Provides sample payloads that are passed to the callback methods, when the events occur.
- Describes the payload attributes.
Front-end events are of the following types: Click events, Change events, Intercept events.
Currently, for Freshsales Classic, only Change events are supported.
Change events
These events occur when a user changes the value of a field on the UI.
Note:User need not submit the modified value for the event listeners to pick up the event and execute the callback; merely changing the values is sufficient for the event trigger.
The event.helper.getData() method returns a JSON that contains the old and new values of the changed field.
Intercept events
These are events that are paused, while the event listener and the corresponding callback run. The app can choose to allow the original event to complete or block the event.
To enable your app to intercept an event, after app initialization,
- Use the client reference, subscribe to event, register a callback method to be executed when the event occurs, and set intercept as true.
- Define the callback method.
- To allow the event to proceed, use the event.helper.done() helper method.
- To prevent the event from completion, use the event.helper.fail(‘errorMessage’) helper method.
- To obtain data pertaining to the event, use the event.helper.getData() helper method. If your app is intercepting a click event, the method returns an empty JSON.
Lead details page events
Event name | Event trigger |
---|---|
lead.update | When a user updates a lead. |
Contact details page events
Event name | Event trigger |
---|---|
contact.update | When a user updates a contact. |
Deal details page events
Event name | Event trigger |
---|---|
deal.update | When a user updates a deal. |
Sales account details page events
Event name | Event trigger |
---|---|
account.update | When a user updates an account. |
Conversation editor page events
Event name | Event trigger |
---|---|
chatConversation.onSendMessage | When an agent clicks the Send button. The event payload is the chatConversation.onSendMessage object. |
Event and payload descriptions
lead.update
Use the sample code shown on the right pane > Sample code tab, to enable your app to react when a user updates a lead.
contact.update
Use the sample code shown on the right pane > Sample code tab, to enable your app to react when a user updates a contact.
deal.update
Use the sample code shown on the right pane > Sample code tab, to enable your app to react when a user updates a deal.
account.update
Use the sample code shown on the right pane > Sample code tab, to enable your app to react when a user updates a sales account.
chatConversation.onSendMessage
Use the sample code shown on the right pane > Sample code tab, to enable your app to respond when an agent clicks the Send button in either the conversation reply editor or email editor.
Note:The chatConversation.onSendMessage method triggers only when the Send button is clicked in reply editors for conversations and emails; it does not trigger for new email conversation creation.