How to simulate calling two smart services in Appian ?
Hi Team,
I have a use case where if some user clicks on a link, then first, some data needs to be deleted and then second, an api integration needs to be triggered with a query parameter whose value basically is the value of the link clicked.(local!selectedSuiteName)
See below screenshot:

So, if someone clicks on the first link, then first I need to delete the related data from db and secondly then I need to call an integration which is configured basically to call an API. But I want to pass the selected link value as a query parameter to the API, I am not sure how to do it in expression. What I know is I can call an integration using rule!<Integration name>, however I don't know how to pass the parameter which is basically saved in local!selectedSuiteName.
So the full flow is like,
1. When user clicks on a link, some related data need to be deleted from an appian table.
2. Now, I need to populate the same table with some data and that data basically I want to fetch from an integration which I have discussed above.
Below is the screenshot, How I am trying to achieve this.

Code:
a!localVariables(
local!msg,
a!cardLayout(
contents: a!gridField(
label: "Suites",
labelPosition: "ABOVE",
data: 'recordType!{cb3c545e-904d-4198-9ce7-1044eb68e4f6}BTUA_v2_GetAllSuites_RecordType',
columns: {
a!gridColumn(
label: "Suite Name",
sortField: 'recordType!{cb3c545e-904d-4198-9ce7-1044eb68e4f6}BTUA_v2_GetAllSuites_RecordType.fields.{50f36e4d-df17-4fd3-ad80-17401b261035}suitename',
value: a!linkField(
links: {
a!dynamicLink(
label: fv!row['recordType!{cb3c545e-904d-4198-9ce7-1044eb68e4f6}BTUA_v2_GetAllSuites_RecordType.fields.{50f36e4d-df17-4fd3-ad80-17401b261035}suitename'],
saveInto: {
a!deleteFromDataStoreEntities(
dataToDelete: {
a!entityDataIdentifiers(
entity: cons!BTUA_v2_Script_tbl_constant,
identifiers: rule!BTUA_getListOfScriptIdentifiersForUser("abc@bc.cd"),
/*identifiers: rule!BTUA_getListOfScriptIdentifiersForUser(loggedInUser()),*/
)
},
onSuccess: a!save(local!msg, "Success"),
onError: a!save(local!msg, "Failure")
),
a!writeToDataStoreEntity(
dataStoreEntity: cons!BTUA_v2_Script_tbl_constant,
valueToStore: rule!BTUA_v2_GetMappedScriptsForSelectedSuite(),
onSuccess: a!save(local!msg, "Success"),
onError: a!save(local!msg, "Failure")
),
a!save(ri!isSuiteSelected, true()),
a!save(ri!isScriptSelected, false()),
a!save(
ri!selectedSuiteName,
fv!row['recordType!{cb3c545e-904d-4198-9ce7-1044eb68e4f6}BTUA_v2_GetAllSuites_RecordType.fields.{50f36e4d-df17-4fd3-ad80-17401b261035}suitename']
)
}
)
}
)
)
},
validations: {},
refreshAfter: "RECORD_ACTION",
showSearchBox: true,
showRefreshButton: false,
actionsDisplay: "LABEL_AND_ICON"
)
),
)
Line no. 32 basically calling an API integration for which I don't know how to pass query parameter which is basically local!selectedSuiteName.
Now here the main catch is that I can't call two smart services in a single expression. I want to simulate this somehow.
Could u guyz pls help me in this ?
Let me know if other data is required.

