onCpqDocumentCreate
The Configure, Price, Quote (CPQ) feature of Freshsales Suite enables organizations to configure and generate customer-specific quotes for products/services. As part of this feature, Freshsales Suite users can create standardized documents such as proposals, NDAs, MSAs, and so on by using pre-set templates. For more information, see CPQ add-on in Freshsales Suite.
The onCpqDocumentCreate event is triggered and the registered callback method is executed, when a new document is created in the Freshworks system.
Subscribe to the onCpqDocumentCreate event and register the callback by using the following sample manifest.json content.
"events": {
"onCpqDocumentCreate": {
"handler": "onCpqDocumentCreateCallback"
}
}Define the corresponding callback by using the following sample server.js content:
exports = {
onCpqDocumentCreateCallback: function(payload) {
console.log("Logging arguments from onCpqDocumentCreate event: " + JSON.stringify(payload));
}
}Attributes of the data object
- actorobject
Information pertaining to the entity who triggered the onCpqDocumentCreate event in the Freshworks system.
- idinteger
Identifier of the actor who triggered the product event.
The value of this attribute is 0 when the value of actor.type is system. - namestring
Full name of the actor.
- typestring
Name of the entity that triggered the onCpqDocumentCreate event.
Possible value: system
- associationsobject
All associated objects of the cpq document object, which specify additional information pertaining to the document created.
- cpq_document_product_associationsarray of objects
Additional information pertaining to the products added to the deal for which the document is created.
- billing_cycleinteger
Frequency of billing for the product added to the document.
If the product has one-time billing, billing_cycle is null. - billing_typeinteger
Identifier of the billing type of the product added to the document.
Possible values:
1: monthly subscription
2: quarterly subscription
2: half-yearly subscription
4: annual subscription
For products with one-time billing, the value of billing_type is null. - created_atstring
Timestamp of when the product is created in the Freshworks system, specified in the UTC format.
- currency_codestring
Currency in which the product’s value is expressed, specified in the ISO 4217 format.
- idinteger
Identifier of product, auto-generated when the product is created in the Freshworks system.
- setup_feestring
Setting up fees, if any, for the product added to the document.
- unit_priceinteger
Price per unit of the product added to the document.
- cpq_documentobject
Information pertaining to the document that is created in the Freshworks system.
- amountinteger
Deal value, which is determined based on the unit price, quantity, and discount specified for the products added to the deal associated with the document.
- base_currency_amountstring
Total value of the product(s) added to the document specified in the base currency configured for the Freshsales Suite account.
- billing_addressstring
Address associated with the deal’s payment information.
- billing_citystring
City, district, town, or any other similar component of the address associated with the deal’s payment information.
- billing_countrystring
Country name in the address associated with the deal’s payment information.
- billing_statestring
State, region, province, county, or any other sub component of the address associated with the deal’s payment information.
- billing_zipcodestring
ZIP or postal code in the address associated with the deal’s payment information.
- contact_idinteger
Identifier of the contact object, auto-generated when a contact is created in the Freshworks system.
The value of contact_id identifies the primary contact associated with the deal for which the document is created. - cpq_document_template_idinteger
Identifier of the template based on which the document is created.
- cpq_document_template_namestring
Organizations can standardize the various types of documents by configuring document templates in the Freshworks system.
The value of cpq_document_template_name refers to the name of the template based on which the document is created. - created_atstring
Timestamp of when the document is created in the Freshworks system, specified in the UTC format.
- creator_idinteger
Identifier of the user who created the document.
- currency_codestring
Currency code indicating the currency in which the deal value is expressed the currency code is in the ISO 4217 format.
- custom_fieldsobject
Document details specified through custom fields. Note: Custom fields can be configured to obtain additional information about the document. The custom_fields attribute contains the custom field names and corresponding values, as a valid JSON object of key (custom field name)-value (custom field’s value) pairs.
- deal_idinteger
Identifier of the deal object, auto-generated when a deal is created in the Freshworks system.
The value of deal_id identifies the deal for which the document is created. - display_idinteger
Numeric identifier used as part of the document_number that uniquely identifies a document.
- display_id_prefixstring
Preconfigured prefix used as part of the document_number that uniquely identifies a document.
Possible value: DOC - display_namestring
Name of the document created.
- document_numberstring
Identifier of a document, auto-generated when the document is created in the Freshworks system.
The value of this attribute is a combination of the values of cpq_document.display_id and cpq_document.display_id_prefix. - document_typeinteger
Type of the document created. For example, quote, proposal, Non-Disclosure Agreement (NDA), Master Service Agreement (MSA), and so on.
- idinteger
Identifier of the document object, auto-generated when a document is created in the Freshworks system.
- is_deal_primaryboolean
Specifies whether a deal is synced with the document created.
A deal can be synced with a document to ensure that any updates to the products associated with the deal will be automatically synced with the document and vice-versa.
For more information, see Auto-syncing of deals with documents.
Possible values: true, false - is_deletedboolean
Specifies whether the document is deleted from the Freshworks system.
Possible values: true, false - owner_idinteger
Identifier of the user who is assigned as the owner of the document.
For onCpqDocumentCreate event, by default the value of this attribute is the same as the creator_id value. - sales_account_idinteger
Identifier of the sales account object, auto-generated when a new sales account is configured in the Freshworks system.
The value of sales_account_id identifies the sales account associated with the deal for which the document is created. - shipping_addressstring
Address to which the product is shipped.
- shipping_citystring
City, district, town, or any other similar component of the address to which the product is shipped.
- shipping_countrystring
Country to which the product is shipped.
- shipping_statestring
State, region, province, county, or any other sub component of the address to which the product is shipped.
- shipping_zipcodestring
ZIP or postal code in the address to which the product is shipped.
- stageinteger
Document stages can be configured in the Freshworks system based on the business process of the organization. The default document stages are,
- Draft
- Sent to customer
- Accepted
- Declined
The value of stage is the identifier of the current document stage of the document. When a document is created in the Freshworks system, the document stage is set as draft automatically.
For onCpqDocumentCreate event, the value of this attribute is the identifier of the Draft stage. - territory_idinteger
Identifier of the territory object, auto-generated when a territory is created in the Freshworks system.
Territories can be configured to group users, so the users can focus on a particular set of customers and their sales activities can be monitored on territory basis.
The value of territory_id identifies the territory to which the user who created the document is added. - updated_atstring
Timestamp of when the document is updated in the Freshworks system, specified in the UTC format.
For onCpqDocumentCreate, the value of this attribute is the same as the created_at value. - valid_tillstring
Validity of the document, specified as a timestamp in the UTC format.
onCpqDocumentUpdate
The onCpqDocumentUpdate event is triggered when,
- The details of the document are updated.
- The details of the products associated with the document are modified.
- The document is previewed or saved as a PDF file.
- The document is soft deleted.
Subscribe to the onCpqDocumentUpdate event and register the callback by using the following sample manifest.json content.
"events": {
"onCpqDocumentUpdate": {
"handler": "onCpqDocumentUpdateCallback"
}
}Define the corresponding callback by using the following sample server.js content:
exports = {
onCpqDocumentUpdateCallback: function(payload) {
console.log("Logging arguments from onCpqDocumentUpdate event: " + JSON.stringify(payload));
}
}Attributes of the data object
- actorobject
Information pertaining to the entity who triggered the onCpqDocumentUpdate event in the Freshales system.
- idinteger
Identifier of the actor who triggered the product event.
The value of this attribute is 0 when the value of actor.type is system. - namestring
Full name of the actor.
- typestring
Name of the entity that triggered the onCpqDocumentUpdate event.
Possible value: system
- associationsobject
All associated objects of the cpq document object, which specify additional information pertaining to the document updated.
- cpq_document_product_associationsarray of objects
Additional information pertaining to the products added to the deal for which the document is created.
- billing_cycleinteger
Frequency of billing for the product added to the document.
If the product has one-time billing, billing_cycle is null. - billing_typeinteger
Identifier of the billing type of the product added to the document.
Possible values:
1: monthly subscription
2: quarterly subscription
2: half-yearly subscription
4: annual subscription
For products with one-time billing, the value of billing_type is null. - created_atstring
Timestamp of when the product is created in the Freshworks system, specified in the UTC format.
- currency_codestring
Currency in which the product’s value is expressed, specified in the ISO 4217 format.
- idinteger
Identifier of product, auto-generated when the product is created in the Freshworks system.
- setup_feestring
Setting up fees, if any, for the product added to the document.
- unit_priceinteger
Price per unit of the product added to the document.
- changesobject
Changes that triggered the onCpqDocumentUpdate event, specified as a JSON object of the following format:
"changes": { "model_changes": { //For non-array attributes "<cpq_document.attribute that changed>": ["New value", "Old value"] }, "system_changes": {}, "misc_changes": {} }Example
{ "model_changes": { "deal_id": [ 6796197, 6891801 ], "sales_account_id": [ 5135558, 5212715 ], "base_currency_amount": [ 677, 0 ] } "system_changes": {}, "misc_changes": {} }- misc_changesobject
List of all miscellaneous database parameters whose values have changed, along with the old and modified values.
- model_changesobject
List of all attributes whose values have changed along with the old and modified values of the attributes.
- system_changesobject
List of all system-level parameters whose values have changed, along with the old and modified values.
- cpq_documentobject
Information pertaining to the document that is created in the Freshworks system.
- amountinteger
Deal value, which is determined based on the unit price, quantity, and discount specified for the products added to the deal associated with the document.
- base_currency_amountstring
Total value of the product(s) added to the document specified in the base currency configured for the Freshsales Suite account.
- billing_addressstring
Address associated with the deal’s payment information.
- billing_citystring
City, district, town, or any other similar component of the address associated with the deal’s payment information.
- billing_countrystring
Country name in the address associated with the deal’s payment information.
- billing_statestring
State, region, province, county, or any other sub component of the address associated with the deal’s payment information.
- billing_zipcodestring
ZIP or postal code in the address associated with the deal’s payment information.
- contact_idinteger
Identifier of the contact object, auto-generated when a contact is created in the Freshworks system.
The value of contact_id identifies the primary contact associated with the deal for which the document is created. - cpq_document_template_idinteger
Identifier of the template based on which the document is created.
- cpq_document_template_namestring
Organizations can standardize the various types of documents by configuring document templates in the Freshworks system.
The value of cpq_document_template_name refers to the name of the template based on which the document is created. - created_atstring
Timestamp of when the document is created in the Freshworks system, specified in the UTC format.
- creator_idinteger
Identifier of the user who created the document.
- currency_codestring
Currency code indicating the currency in which the deal value is expressed the currency code is in the ISO 4217 format.
- currency_codestring
Currency code indicating the currency in which the deal value is expressed the currency code is in the ISO 4217 format.
- custom_fieldsobject
Document details specified through custom fields. Note: Custom fields can be configured to obtain additional information about the document. The custom_fields attribute contains the custom field names and corresponding values, as a valid JSON object of key (custom field name)-value (custom field’s value) pairs.
- deal_idinteger
Identifier of the deal object, auto-generated when a deal is created in the Freshworks system.
The value of deal_id identifies the deal for which the document is created. - display_idinteger
Numeric identifier used as part of the document_number that uniquely identifies a document.
- display_id_prefixstring
Preconfigured prefix used as part of the document_number that uniquely identifies a document.
Possible value: DOC - display_namestring
Name of the document created.
- document_numberstring
Identifier of a document, auto-generated when the document is created in the Freshworks system.
The value of this attribute is a combination of the values of cpq_document.display_id and cpq_document.display_id_prefix. - document_typeinteger
Type of the document created. For example, quote, proposal, Non-Disclosure Agreement (NDA), Master Service Agreement (MSA), and so on.
- idinteger
Identifier of the document object, auto-generated when a document is created in the Freshworks system.
- is_deal_primaryboolean
Specifies whether a deal is synced with the document created.
A deal can be synced with a document to ensure that any updates to the products associated with the deal will be automatically synced with the document and vice-versa.
For more information, see Auto-syncing of deals with documents.
Possible values: true, false - is_deletedboolean
Specifies whether the document is deleted from the Freshworks system.
Possible values: true, false - owner_idinteger
Identifier of the user who is assigned as the owner of the document.
For onCpqDocumentCreate event, by default the value of this attribute is the same as the creator_id value. - sales_account_idinteger
Identifier of the sales account object, auto-generated when a new sales account is configured in the Freshworks system.
The value of sales_account_id identifies the sales account associated with the deal for which the document is created. - shipping_addressstring
Address to which the product is shipped.
- shipping_citystring
City, district, town, or any other similar component of the address to which the product is shipped.
- shipping_countrystring
Country to which the product is shipped.
- shipping_statestring
State, region, province, county, or any other sub component of the address to which the product is shipped.
- shipping_zipcodestring
ZIP or postal code in the address to which the product is shipped.
- stageinteger
Document stages can be configured in the Freshworks system based on the business process of the organization. The default document stages are,
- Draft
- Sent to customer
- Accepted
- Declined
The value of stage is the identifier of the current document stage of the document. When a document is created in the Freshworks system, the document stage is set as draft automatically.
For onCpqDocumentCreate event, the value of this attribute is the identifier of the Draft stage. - territory_idinteger
Identifier of the territory object, auto-generated when a territory is created in the Freshworks system.
Territories can be configured to group users, so the users can focus on a particular set of customers and their sales activities can be monitored on territory basis.
The value of territory_id identifies the territory to which the user who created the document is added. - updated_atstring
Timestamp of when the document is updated in the Freshworks system, specified in the UTC format.
For onCpqDocumentCreate, the value of this attribute is the same as the created_at value. - valid_tillstring
Validity of the document, specified as a timestamp in the UTC format.
onCpqDocumentDelete
The onCpqDocumentDelete event is triggered and the registered callback method is executed, when a document is deleted from the Freshworks system.
Subscribe to the onCpqDocumentDelete event and register the callback by using the following sample manifest.json content.
"events": {
"onCpqDocumentDelete": {
"handler": "onCpqDocumentDeleteCallback"
}
}Define the corresponding callback by using the following sample server.js content:
exports = {
onCpqDocumentDeleteCallback: function(payload) {
console.log("Logging arguments from onCpqDocumentDelete event: " + JSON.stringify(payload));
}
}Attributes of the data object
- actorobject
Information pertaining to the entity who triggered the onCpqDocumentCreate event in the Freshworks system.
- idinteger
Identifier of the actor who triggered the product event. The value of this attribute is 0 when the value of actor.type is system.
- namestring
Full name of the actor.
- typestring
Name of the entity that triggered the onCpqDocumentDelete event.
Possible value: system
- cpq_documentobject
Information pertaining to the document that is deleted from the Freshworks system.
- idstring
Identifier of the document object, auto-generated when a document is created in the Freshworks system.
- cpq_document_product_association_idsarray of integers
Identifiers of the products/services associated with the document. This identifier helps purge the system of any association created between the document and the corresponding products, when the onCpqDocumentDelete event deletes a document from the Freshworks system.