
Hi,
Welcome to Dataverse and Power Automate! What you're trying to do is a common scenario, and you're very close to the solution.
✅ How to set a lookup field correctly in Power Automate:
When you're adding a new row to a Dataverse table and need to populate a lookup column, the value must be passed in a specific URI format:
/{entitylogicalnameplural}({GUID})
The lookup field on Futures / Hedging is epolle_boardterminal (which looks up to epolle_purchasecontracts).
You should set the value using:
concat('/epolle_purchasecontracts(', <GUID>, ')')
Use this expression in the "Add a new row" action:
concat('/epolle_purchasecontracts(', outputs('Get_a_row_by_ID')?['body/epolle_purchasecontractsid'], ')')
Replace epolle_purchasecontractsid with the actual internal name of your Purchase Contract primary key if different.
Make sure you're using the plural logical name of the entity, not the display name.
This will correctly reference the Purchase Contract in your epolle_boardterminal lookup field.
If this post helped you, please click "Does this answer your question?" and give it a like to help others in the community find the answer too!
José Martínez Lago
Solution Architect | Dynamics 365 & Power Platform
Empowering low-code consultants to deliver high-impact solutions
Blog: thatsagoodquestion.info
LinkedIn: martinezlago