Starting a particular Process, depending on the Link string value

Certified Associate Developer

Hello everybody.
I have a problem: I would like to start a Process, which is depending on the value of a particular Link's string.
For example, if I click on a Link with "CC1" value, I would like to start a Process called "TagName_CC1".

        a!columnLayout(
          contents: {
            a!forEach(
              items: index(local!rowsLevel_3, "LEVEL_3"),
              expression: a!cardLayout(
                contents: a!richTextDisplayField(
                  value: a!richTextItem(
                    text: fv!item,
                    link: a!startProcessLink(
                      processModel: /* TagName + rowsLevel_3*/
                    ),
                    linkStyle: "STANDALONE",
                    color: "ACCENT",
                    size: "MEDIUM_PLUS",
                    style: if(
                      fv!item = local!selectedliv3,
                      "STRONG",
                      "PLAIN"
                    )
                  )
                ),
                link: a!dynamicLink(label: "Dynamic Link", saveInto: {}),
                height: "AUTO",
                style: if(
                  fv!item = local!selectedliv3,
                  "ACCENT",
                  "NONE"
                ),
                padding: "NONE"
              )
            )
          }
        )

  Discussion posts and replies are publicly visible

  • 0
    Certified Lead Developer

    The processModel parameter ends up linking directly to a process model (essentially by ID), and I'm not sure there's a very graceful and direct way to translate an input string to a process model name.  On the other hand you could pass the string into an Expression Rule and from that rule, procedurally return a certain Process Model (via if() logic, etc) - though I should note this would require you to basically enumerate all process models you want to allow selection from.  Similarly, your start Process Link could call a single "handler" process and pass in the string as a parameter, and use in-process logic to decide which subprocess gets executed.