Setting default values in "extension properties" of properties panel

Continuing the discussion from How to set Default values for Service Task property panels:

This Answer did help me a lot, so i was thinking this maybe the right approach for my question the other day, autopopulate-property-panel-on-dragging-name-description.

I followed the code for creating new service task,

function createTicket(event) {
      const shape = elementFactory.createShape({ type: 'bpmn:ServiceTask','camunda:asyncBefore': true  });

      shape.businessObject["type"] = "external";
      shape.businessObject["topic"] = "value 1";
      shape.businessObject["name"] = "Create Ticket";

      create.start(event, shape);

and the result is success.

NOW, i have other default values to load like,


is this possible by same method,
if so, what should we code like similar to this ? (ex. : shape.businessObject[“name”] = “Create Ticket”; )

Creating execution listeners and other complex properties generally works the same.

const executionListener = moddle.create('camunda:ExecutionListener',  {
  expression: 'foo'

executionListener.$parent = extensionElements;

extensionElements.set('values', [ executionListener ]);

I could finally get the execution listener and extension properties auto populating by the code below

// this can set the values of extension properties and 
// execution listeners when passed through the function itself...

import { PropertiesPanel } from "@bpmn-io/properties-panel";

export default class CustomPalette {
constructor(create, elementFactory, palette, translate, elementRegistry, moddle, modeling) {
    this.create = create;
    this.elementFactory = elementFactory;
    this.translate = translate;
    this.elementRegistry = elementRegistry;
    this.moddle = moddle;
    this.modeling = modeling;


getPaletteEntries(element) {
    const {create,
    } = this;

    function createUserTask2(event) {

        const shape = elementFactory.createShape({ type: 'bpmn:UserTask' });

        shape.businessObject["name"] = "Created User";
        shape.businessObject["id"] = "CreatedUser";

        var extensionElements = shape.businessObject.get('extensionElements');

        if (!extensionElements) {
            extensionElements = moddle.create('bpmn:ExtensionElements');

        const executionListener = moddle.create('camunda:ExecutionListener',  {
            class : 'check', 
            event: 'end'

        const properties = moddle.create('camunda:Properties');
        const property = moddle.create('camunda:Property', {
            name: 'hello',
            value: 'jiii'
        properties.set('values', [ property ]);

        extensionElements.set('values', [ properties,executionListener ])
        shape.businessObject["extensionElements"] = extensionElements;

        create.start(event, shape);

    return {
        'create.user-task2': {
            group: 'activity',
            className: 'bpmn-icon-user-task',
            title: translate('Created User'),
            id: 4,
            action: {
                dragstart: createUserTask2,
                click: createUserTask2

CustomPalette.$inject = [

@philippfromme Thanks much for help

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.