Skip to main content
July 12, 2023
Question

Expression backed record - array fields not appearing in record

  • July 12, 2023
  • 5 replies
  • 0 views

Hi all,

We've created an expression backed record type, with the expression calling an integration to return the data. In the returned payload there are several fields which are return as lists (i.e. List of Text String), and these are not appearing in the record type and I can't seem to map them.

Record type data model:

Payload:

As you can see, the list of text string names/ids fields aren't appearing in the record.

Is there any way to resolve this?

    5 replies

    stefanhelzle0001
    Brainy
    July 12, 2023

    Appian records are, as of now, only a abstraction on top of other data sources like a relational database, and have very similar limitations. One is, that you can only store a single value in one field.

    To map such a nested data structure to the DB and Record, you will have to build a relational data model and write an expression which creates the necessary entities from the incoming data.

    johng0005Author
    July 12, 2023

    Thanks for the reply Stefan. Just to be clear, do you mean essentially transforming the incoming payload in the expression rule? I.e. when the expression calls the integration, loop through the returned results and create a map (with the arrayed fields transformed into a joined array for example), which is then passed back to the record?

    mathieud0001
    Brainy
    July 12, 2023

    If you are able to sync all the data, you could create separate service backed Records for each of those relations and simply relate them together. If not, you'll need to create your own schema and populate the data for specific Records.

    johng0005Author
    July 12, 2023

    Thanks for the reply Mathieu. So we'd basically need to transform the payload so that those arrayed fields are joined into a single string, for example, and pass that back to the record?

    vaishals
    August 16, 2023

    Hi johng, were you able to resolve this?