We are syncing fields nested under the object to Intercom, but it seems it is not working.
we have the following tracking plan for Identify and Group calls.
For the Identify call, we are trying to sync the pickupOutsourcingEnabled
field, which is under the settings object. To enable this sync in Intercom, we updated the filters and created a Transformation to move the property to the root level.
Although we are not encountering any errors in the Event delivery when sending fields to the Intercom destination, we are unable to see the field in Intercom.
Group Call Tracking plan
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"labels": {},
"properties": {
"context": {
"id": "/properties/context"
},
"traits": {
"type": "object",
"properties": {
"settings": {
"description": "Buyer company settings.",
"id": "/properties/traits/properties/settings",
"properties": {
"pickupOutsourcingEnabled": {
"description": "True, if Pickup outsourcing is enabled for the company.",
"id": "/properties/traits/properties/settings/properties/pickupOutsourcingEnabled",
"type": "boolean"
}
},
"required": [
"pickupOutsourcingEnabled"
],
"type": "object"
}
},
"required": [
"settings"
],
"id": "/properties/traits"
},
"properties": {
"type": "object",
"id": "/properties/properties"
}
},
"required": [
"traits"
]
}
Identify Tracking plan:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"labels": {},
"properties": {
"context": {
"id": "/properties/context"
},
"traits": {
"type": "object",
"properties": {
"company": {
"description": "Company details.",
"id": "/properties/traits/properties/company",
"properties": {
"settings": {
"description": "Buyer Settings",
"id": "/properties/traits/properties/company/properties/settings",
"properties": {
"pickupOutsourcingEnabled": {
"description": "True, if Pickup outsourcing is enabled for the company.",
"id": "/properties/traits/properties/company/properties/settings/properties/pickupOutsourcingEnabled",
"type": "boolean"
}
},
"required": [
"pickupOutsourcingEnabled"
],
"type": "object"
}
},
"required": [
"settings"
],
"type": "object"
}
},
"required": [
"company"
],
"id": "/properties/traits"
},
"properties": {
"type": "object",
"id": "/properties/properties"
}
},
"required": [
"traits"
]
}
Transformation:
I have moved property to root level, using JSONPath.
{
"data": {
"transformation": {
"if": "type=\"identify\"",
"propertyDrops": [],
"propertyRenames": [
{
"oldName": "company.settings.pickupOutsourcingEnabled",
"newName": "company.pickup_outsourcing_enabled"
}
]
}
}
}