Map Dataslots
A Map-type dataslot is a type of User Setting that allows your users to define a mapping between an object in your application (an "Application Object") and an object in their connected integration account (an "Integration Object").
Map dataslot settings can be added by visiting the "configure" option inside an application on your dashboard.

Adding config dataslots inside each application
An example of a map-type dataslot. For eg. List of fields in Mailerlite can be mapped with user inputs.
Adding a config dataslot (map-type)
Use the config() function to get the config of a particular app.
cobalt.config('mailerlite','configid');
Let's look at a sample response of map-type dataslot.
As you can see, the previously empty 'labels' array now has the options configured above on the platform - 'Name' and 'Email'.
{
"application_data_slots": [
{
"required": true,
"id": "645df2f8e77af6ed8d02f32f",
"name": "Map Mailerlite Fields",
"has_dynamic_map_fields": false,
"field_type": "map",
"options": [
{
"name": "City",
"value": "city"
},
{
"name": "Company",
"value": "company"
},
{
"name": "Country",
"value": "country"
},
{
"name": "Last name",
"value": "last_name"
},
{
"name": "Name",
"value": "name"
},
{
"name": "Phone",
"value": "phone"
},
{
"name": "Secondary_Email",
"value": "secondary_email"
},
{
"name": "State",
"value": "state"
},
{
"name": "Zip",
"value": "z_i_p"
}
],
"dynamic_slot_identifier": "dynamic:mailerlite:1",
"labels": [
{
"name": "Name",
"value": "645df30fe77af6ed8d02f338"
},
{
"name": "Email",
"value": "645df30fe77af6ed8d02f339"
}
]
}
],
"workflows": [],
"config_id": "1234"
}
Use the updateConfig() function to save the selected value. In this case an object with respective labels and their values will be needed to pass.
cobalt.updateConfig('pipedrive','1234',{
"config_id": "1234",
"application_data_slots": {
"645df2f8e77af6ed8d02f32f": {
"645df30fe77af6ed8d02f339": "secondary_email",
"645df30fe77af6ed8d02f338": "name"
}
/*[response.application_data_slots[0].id] : {
[response.application_data_slots[0].labels[0].value]: response.application_data_slots[0].options[4].value
[response.application_data_slots[0].labels[1].value]: response.application_data_slots[0].options[6].value
}
*/
},
"workflows": []
});
It will return the same response as config() functions with updates in the changed value. You will notice that the value is now added in the object.
{
"application_data_slots": [
{
"required": true,
"id": "645df2f8e77af6ed8d02f32f",
"name": "Map Mailerlite Fields",
"has_dynamic_map_fields": false,
"field_type": "map",
"options": [
{
"name": "City",
"value": "city"
},
{
"name": "Company",
"value": "company"
},
{
"name": "Country",
"value": "country"
},
{
"name": "Last name",
"value": "last_name"
},
{
"name": "Name",
"value": "name"
},
{
"name": "Phone",
"value": "phone"
},
{
"name": "Secondary_Email",
"value": "secondary_email"
},
{
"name": "State",
"value": "state"
},
{
"name": "Zip",
"value": "z_i_p"
}
],
"dynamic_slot_identifier": "dynamic:mailerlite:1",
"labels": [
{
"name": "Name",
"value": "645df30fe77af6ed8d02f338"
},
{
"name": "Email",
"value": "645df30fe77af6ed8d02f339"
}
],
"value": {
"645df30fe77af6ed8d02f339": "secondary_email",
"645df30fe77af6ed8d02f338": "name"
}
}
],
"workflows": [],
"config_id": "1234"
}
Summary of setting a map-type config dataslot using config() and updateConfig() functions
map-type config dataslot
Last modified 16d ago