What kind of data can I put into Apex Action Parameters?

What kind of data can I put into the parameters of a Custom Apex Action?

Is there a context specific merge syntax :)?
Or does it only take hardcoded values?

Hmmm … haven’t used Apex Actions, but I’m fairly certain the following works.

Hm that didn’t seem to work with {{ $Model.MyModelName.data.0.Id }} or $Model.MyModelName.data.0.Id . The id didn’t even show up in the html (maybe I did it wrong).

I simplified my apex class further to just take a list of Strings (invocable methods can only take lists) from a button and then sent it a hardcoded list of strings like so (I’m sure the string is escaped by skuid as a single string so maybe that’s why doesn’t work either).

I think it’s either a type error or a skuid bug. The error I’m getting in the console is:

Failed to load resource: the server responded with a status of 400 (Bad Request)

Here’s my simple apex class.

public class TestInvocable {
public static void TestInvocable(List strList){
System.debug('Value of Str: ’ + strList);

Not sure about the format required to populate a list.

As for {{$Model.MyModelName.data.0.Id}}, I would make sure to replace MyModelName with the model name you have, replace Id with the field you need to send to the apex action and make sure that field is in the model.

Oh, I am using my actual model name. I was just generalizing it.
The field I wanted to send was the id. That field is in the model, and there is a row present.

Hmmmm … stumped at this point. I’d try changing the apex action to take a string instead for now to see if the calling of it works.

I tried that above :frowning: and didn’t work. 

Thanks for your help! Where can I go next to figure this out?

Merge Syntax as a parameter should work. I tried to reproduce your error, but its working fine for me. Which profile are you on?


Thanks for your help! I ended up using a rest service through a snippet. I’ll try regular merge again next time and pay attention to my class security.