How to set value of selectbox by programmatically?

The issue creation steps are like this.

  1. I drag and drop an activity task. (Contains custom input tab). In the Input tab, there is a dropdown i.e. SelectBox. I select a value from the dropdown.
  2. Then I select other activity or in caumnda:Process area.
    3)Then I came back again on the activity task. Then go to the input tab, the dropdown value must visible that I had selected previously.

How I can set value dropdown or entryFactory.selectBox programmatically that I had selected before?

My Code,

export default function(group, element, translate, dropdownOptions, ddName, _id, bpmnFactory) {

  if (is(element, 'bpmn:Activity')) {
    var bo = getBusinessObject(element);
    var attributes = bo.$attrs;
    var values = attributes[_id];
    if(window.dropDownValue !== undefined){
      dropdownOptions = window.dropDownValue;
      var dropdownBox = entryFactory.selectBox(translate, {
        id: _id,
        label: ddName,
        emptyParameter: false,
        selectOptions: dropdownOptions,
        modelProperty: _id,

        get: function(element, node) {
          return bo;

        set: function setValue(element, values, node) {
          var b_obj = getBusinessObject(element);
          var selectedValues = {};
          selectedValues = values;
          prop[_id] = selectedValues[_id];
          var selectedName = dropdownOptions[parseInt(prop[_id])].name;
          var bo = cmdHelper.updateBusinessObject(element, b_obj, selectedValues);
          //Code here to reflect selected value in xml.
          return bo;

So to understand your use case correctly, you want something like a global value that should be shown for any element? Or should it persist for a specific element?

The properties panel is created in a way it always consumes and shows the underlying BPMN 2.0 XML. So when you set a property to a specific element, it should show up, also when you switch to another one and switch back again. The XML is the single source of truth.

I used global variable just for loading dropdown values dynamically from outside minified JS.

I sharing my issue in visual context here,

I set my selected value from dropdown into the input parameter,

<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:xsi="" xmlns:bpmn2="" xmlns:bpmndi="" xmlns:dc="" xmlns:camunda="" id="sample-diagram" targetNamespace="" xsi:schemaLocation=" BPMN20.xsd">
  <bpmn2:process id="Process_1" isExecutable="true">
    <bpmn2:startEvent id="StartEvent_1" />
    <bpmn2:userTask id="APS" name="Appointment Scheduled">
        <camunda:executionListener delegateExpression="#{mIDUpdaterService}" event="start" />
        <camunda:executionListener delegateExpression="#{mIDUpdaterService}" event="end" />
          <camunda:inputParameter name="Connector_Name">Xyz1</camunda:inputParameter>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
        <dc:Bounds x="412" y="240" width="36" height="36" />
      <bpmndi:BPMNShape id="Activity_0mafd0t_di" bpmnElement="APS">
        <dc:Bounds x="500" y="218" width="100" height="80" />

If XML is the only source of truth then there must be something missing apart from it.
Can you guide me how can I resolve this issue?

Thanks for providing some more details! It helps to better understand your use case. Having a quick look at your code I wonder about the getter of your select box

 get: function(element, node) {
  return bo;

The selectBox getter is expecting to return the value for the defined modelProperty, so something like

return {
  _id: bo.get('_id') // or how the property is set inside the XML

That would be a good starting point for a root cause search. If this doesn’t help I think the best would be to share your properties panel extension inside a CodeSandbox so we can better investigate it.