“After starting with my expression and going to the dynamic content section, Power Automate doesn’t show any column that is in my SharePoint list other than body and value.”
You just used ‘Get items’ to get items from a SharePoint list to process them later in the flow. All the columns are available among the other dynamic content, until you need an expression. You type in the expression, switch to the ‘dynamic content’ tab, and it’s not there. You see only ‘body’ and ‘value’. None of the columns that were available a moment ago is available for the expression.
How can you then e.g. split() a string or formatDateTime() when Power Automate doesn’t show you the column?
Use ‘Compose’ action
The simplest solution is to store the dynamic content in a ‘Compose’ action before you need it. As you can see on the screenshot above, outputs from the ‘Compose’ action stay available.
If you store the SharePoint column into a ‘Compose’ action, you can later add it to the expression.
‘Type in’ the column
The other option is to type in the column directly into the expression. Even if it’s not displayed among the dynamic content, the column is still there. It’s inside the ‘value’ output from ‘Get items’, but you must tell the flow how to find it.
The best start is to enter the column into any Power Automate action, e.g. ‘Compose’ as in the previous step. Copy/paste it from there into a text editor, you’ll get a result similar to the one below.
@{items('Apply_to_each_3')?['DateTime']}
Remove from there the starting @{ and closing } and you get a reference to that column.
items('Apply_to_each_3')?['DateTime']
Now you can copy/paste the column reference directly into the expression.
Summary
As already explained in the post on processing JSON without ‘Parse JSON’, it’s not necessary to have all columns available as dynamic content. It would be nice, it would simplify your work, but it’s not a blocker.
You can add a ‘Compose’ action and use its output, that’s the most brute force solution. Or you can reference the column by yourself with the second solution, even without coding knowledge.
You could probably also use ‘Parse JSON’ to get all the dynamic content back, but I think that would be an overkill in this situation.