Documentation on how to create a Custom activity

_Manoj_Kumar

MVP

18-05-2020

Right now i don't see any documentation on how you can create your own custom workflow activity. So people are going in and writing java script code to have that functionality implemented.

It will be great to have some kind of documentation to follow on how to create the custom activity the right way and what should be the best practices to create any activity.

3 Comments (3 New)
3 Comments

wodnicki

MVP

18-05-2020

Hi,

 

Making workflow activities is fairly straightforward: Find an activity that has features you need, e.g. outgoing transitions with schema alteration, then look through the underlying js to see how it works. I usually reference crm connector activity as it has a lot of useful features.

 

Thanks,

-Jon

lukkyluke

30-06-2020

Hi @wodnicki, I am wondering the same as @_Manoj_Kumar. Could you please elaborate your suggested solution with more details?
I have duplicated a js-workflow-activity, but how do I make my own content? Where can I find the source of this content?
forms-->xtk:workflow:

      <container img="xtk:workflow16x16.png" label="Actions" name="tools">
        <input img="nms:miniatures/mini-delivery.png" xpath="delivery"/>
        <input img="nms:miniatures/mini-control-delivery.png" xpath="controlDelivery"/>
        <input img="nms:miniatures/mini-notification.png" xpath="notification"/>
        <input img="nms:miniatures/mini-localValidation.png" label="Local approval"
               xpath="localValidation"/>
        <input img="nms:miniatures/mini-content.png" xpath="content"/>
        <input applicableIf="HasPackage('nms:federatedDataAccess')" img="nms:miniatures/mini-dbImport.png"
               xpath="dbImport"/>
        <input applicableIf="HasPackage('nms:federatedDataAccess')" img="nms:miniatures/mini-soapImport.png"
               xpath="soapImport"/>
        <input img="nms:miniatures/mini-fileImport.png" xpath="fileImport"/>
        <input img="xtk:miniatures/mini-fileExport.png" xpath="fileExport"/>
        <input img="xtk:miniatures/mini-execsql.png" xpath="sql"/>
        <input applicableIf="HasPackage('nms:federatedDataAccess')" img="xtk:miniatures/mini-execsql.png"
               xpath="sqlDM"/>
        <input img="xtk:miniatures/mini-script.png" xpath="js"/>
        <input img="xtk:miniatures/mini-script.png" xpath="js"/><!--TEST-->
        <input img="xtk:miniatures/mini-script.png" xpath="jsx"/>
        <input img="xtk:miniatures/mini-exec.png" xpath="nlmodule"/>
        <input img="xtk:miniatures/mini-import.png" xpath="import"/>
        <input img="xtk:miniatures/mini-export.png" xpath="export"/>
        <input applicableIf="HasPackage('crm:connectors')" img="crm:crm/mscrm/mscrm_logo_16x16.png"
               xpath="mscrmWorkflow"/>
        <input applicableIf="HasPackage('crm:connectors')" img="crm:crm/ood/ood_logo_16x16.png"
               xpath="oodWorkflow"/>
        <input applicableIf="HasPackage('crm:connectors')" img="crm:crm/sfdc/sfdc_logo_16x16.png"
               xpath="sfdcWorkflow"/>
        <input img="xtk:miniatures/mini-buildAggregate.png" xpath="buildAggregate"/>
      </container>

Result:

lukkyluke_0-1593585037014.png

 

wodnicki

MVP

04-07-2020

Hi,

 

The input fields you pasted reference form xpath's within xtk:workflow.

The content would follow from there.

 

Thanks,

-Jon