Product events are events such as creating a contact, updating a contact, creating a deal, and so on, that occur in the product on which your app is deployed. You can enable product events to trigger your app, call a corresponding callback function, and execute the app logic.
To do this,
From your app’s root directory, navigate to the manifest.json file.
Subscribe to an event by configuring an event listener: Include the events attribute, specifying the product-event's name and the corresponding callback methods as follows:
manifest.json"events": { "<productEventName>": { "handler": "<eventCallbackMethod>" } }
When the event occurs, the corresponding event listener invokes the callback method and passes a standard payload to the method.
Navigate to the server.js file. In the exports block, enter the callback function definition as follows:
Sample server.jsexports = { // args is a JSON block containing the payload information // args["iparam"] will contain the installation parameter values //eventCallbackMethod is the call-back function name specified in manifest.json eventCallbackMethod: function(args) { console.log("Logging arguments from the event: " + JSON.stringify(payload)); }};
- The serverless component of the app is executed in a sandbox mode where some methods, such as setTimeout and setInterval, cannot be used.
- The default app execution timeout is 20 seconds. If the request timeout is increased to 20, 25, or 30 seconds, the app execution timeout is extended to 40 seconds.
Payload attributes
When a product event occurs, an event-specific payload is passed to the callback method.
The payload is a JSON object with the following attributes.
- app_settingsobject
Information pertaining to the app settings as a JSON object of key-value pairs.
If your app does not use the app settings functionality, an empty JSON object is returned. - account_idstring
Identifier of the Freshsales Suite account, auto-generated when the account is configured for an organization.
- dataobject
Event-specific Freshsales Suite data, specified as a JSON object of key:value pairs.
- domainstring
Domain name for the Freshsales Suite account.
- eventstring
Name of the Freshsales Suite event.
- iparamsobject
Installation parameters specified as a JSON object of <parameter name>: <parameter value> pairs.
- productContextobject
Product context of the product for which the app is installed.
- regionstring
Region where the Freshsales Suite account is deployed.
Possible values: US, EU, EUC, AUS, and IND.
- timestampnumber
Timestamp of when the product event occurs, specified in the epoch format.