Difference between Model Extension and Custom Control

Hi Everyone,
I am looking for a bpmn editor which I can embed in my web application.
I came across bpmn.io and this looks suitable for my use case.

Now I want to create a custom tasks like REST task(which while executing can call a rest api service). This custom task should be available in the palette so that any one can use it from there.
While exploring on this I came across - Model extension and custom control using bpmn.io but I am not sure what’s the difference between the two.

Also if anyone can give an overview on how I should start on this, it will be really helpful.

Hi @MonikaJeena,

have you looked at the custom elements example?

If you are also looking into Camunda:

  • the use case you described (calling a REST endpoint) can very easily be realized using Camunda out of the box. You would simply use a ServiceTask and implement the logic to call the REST endpoint following one the paradigms that is most suitable for you (see for example Camunda Best Practices - Invoking Services from the Process).
  • If you are using the Camunda Modeler (which is based on bpmn.io and bpmn-js) you could use Element Templates to customize the experience how an end user would configure a ServiceTask (e.g., provide the REST endpoint details or something like that).
  • These approaches would not require any customizing.