Users can create a new dataslot to store a value from selected or entered by your users. Some examples of dataslots are:

  • Slack - Select a channel where messages will be posted
  • Greenhouse/Lever - Select a job where candidates will be added
  • Hubspot/Pipedrive - Select a stage to which the deal has to be added
  • Docusign - Select a template from which a document will be sent to a signer

Create config dataslots on Cobalt’s platform

The first thing is to add a new config dataslot inside each application by clicking on Config Portal.

There are different types of config dataslots such as Select, Mapping, JSON, text and more. Look at the below example to set a new config dataslot.

Handling multiple configs

Handling multiple configs is an advanced feature for users who want to store and run different configs for a single workflow. To do so, we need to set a unique id while calling the config() and updateConfig() functions.

Step 1: Setting a unique config id

You can set a unique config while calling the .config() function as shown below. Make sure that config ids are stored on your end.

cobalt.config('pipedrive','configid-1');
//creating a config using an id 'configid-1' 

cobalt.config('pipedrive','configid-2');
//creating a config using another id 'configid-2' 

Similarly, while calling the updateConfig() function make sure that you also use the respective config id.

Step 2: Using Config id while triggering events

While triggering a new event from the backend SDK, you need to pass the respective config id to use the stored value inside the config.

// Send the "New Contact Created" App Event
try{
    const data = await Client.event({
        linked_account_id:"<Account Id of the user eg: example@someemail.com>",
        event: "New Contact Created",
        config_id: "configid-2", //event will trigger a workflow using configid-2
        payload: {
           "name": "Jeff Atwood",
            "email": "jeff@stackoverflow.com",
            "phone": "4151231234",
            "company": "Stack Overflow",
            "role": "Founder"
        }
    })
}catch(error){
    //Catch any error
}