Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

A new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.

Reply
Yazdan
Advocate II
Advocate II

How to programmatically access “Submitted by” (pipeline runner) at pipeline or notebook runtime

Hi Fabric team,

 

In the Fabric Monitor view, pipeline runs clearly show the “Submitted by” column (see bellow), which correctly reflects the user who manually triggered the pipeline (e.g. Yazdan Aghajanian).

Yazdan_1-1769493838617.png

 

However, I have not been able to access this information programmatically from either:

  • Pipeline runtime expressions

  • Notebooks executed by the pipeline

  • Fabric REST APIs

What I’ve tried (and confirmed):

  • Pipeline runtime / expressions
    There is no system variable or expression (e.g. @pipeline().submittedBy) that exposes the runner identity.

  • Notebook runtime context

     
    mssparkutils.runtime.context["userName"]

    This returns the execution identity, not the pipeline submitter, when the notebook is invoked by a pipeline.

  • Fabric REST APIs

    • GET /v1/workspaces/{workspaceId}/items/{pipelineItemId}/jobs/instances

    • GET /v1/workspaces/{workspaceId}/items/{pipelineItemId}/jobs/instances/{instanceId}

    • Activity endpoints under the instance

    These APIs only return execution metadata (status, invokeType, timestamps, rootActivityId, etc.).
    There is no field such as submittedBy, createdBy, or user principal information.

  • Azure Monitor / Graph APIs
    Not usable in our tenant (ARM/Graph token minting is blocked), and even then, this feels indirect given the data already exists in Fabric Monitor.

The core question

How can we access the “Submitted by” value (the user who triggered the pipeline) at pipeline or notebook runtime?

Specifically:

  • Is there a supported API or pipeline variable that exposes this?

  • Is the Monitor UI using an internal control-plane API that is not yet publicly exposed?

  • Is passing the submitter explicitly as a pipeline parameter the only supported approach?

This information is important for auditing and operational logging, and currently the Monitor UI has it, but user code cannot access it.

Any official guidance or roadmap insight would be greatly appreciated.

 

Thanks in advance.

13 REPLIES 13
tayloramy
Super User
Super User

Hi @Yazdan

 

If you're getting the use GUID, then I would recommend using the Graph APIs to get user details from the GUID: 
https://learn.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0&tabs=http

 

 





If you found this helpful, consider giving some Kudos.
If I answered your question or solved your problem, mark this post as the solution!

Join the Fabric Discord!

Proud to be a Super User!





Hi @Yazdan ,

could you please try the proposed solution shared by  @tayloramy ? Let us know if you’re still facing the same issue we’ll be happy to assist you further.

 

Regards,

Dinesh

Hi @v-dineshya ,

Thanks for reaching out. I’m not fully sure about the solution yet and was just testing at this stage. If it turns out to be the right approach, I’ll definitely share and mark it here as the solution.

Appreciate your follow-up.

Regards,
Yazdan

Hi @Yazdan ,

Thank you for the update. As you mnetioned in your previous response, you are working on the workaround. Once you have done with testing, Please provide update.

 

Regards,

Dinesh

Thanks @tayloramy 

tayloramy
Super User
Super User

Hi @Yazdan

 

@deborshi_nag is correct, this info isn't available in the APIs, but the suggestion to try workspace monitoring is a great one. 
I've seen some threads on the forum about workspace monitoring not properly logging pipeline runs, but it is worth a try if it works. 

Workspace monitoring overview - Microsoft Fabric | Microsoft Learn

 

 

 





If you found this helpful, consider giving some Kudos.
If I answered your question or solved your problem, mark this post as the solution!

Join the Fabric Discord!

Proud to be a Super User!





Hi Tayloramy,

Thanks for the reply,
How can we access the pipeline activity logs in the pipeline environment at runtime?
Do you have any sample code for this?
Thanks,

Hi @Yazdan

 

Once you enable Workspace Monitoring, you should be able to access the logs in the workspace monitoring eventhouse that is created. 

 

I believe these logs include who executed the pipeline. 

 





If you found this helpful, consider giving some Kudos.
If I answered your question or solved your problem, mark this post as the solution!

Join the Fabric Discord!

Proud to be a Super User!





Hi @tayloramy 

Thanks for the guidance. I’ve enabled workspace monitoring and can now query the ItemJobEventLogs table.

However, in this table I can only see ExecutingPrincipalId, which is the GUID of the user who triggered the pipeline. I need to retrieve the actual user details (given name and family name).

Is there another table in the monitoring Eventhouse or somewhere else that contains user metadata which can be joined to ItemJobEventLogs to resolve the user name? Or any recommended approach to map ExecutingPrincipalId to a readable user identity?

Thanks

deborshi_nag
Community Champion
Community Champion

Hello @Yazdan 

 

As a workaround you can enable Workspace monitoring on the workspace and query the KQL database. 

 

In the workspace > Settings > Monitoring > turn on Log workspace activity (Fabric creates the monitoring Eventhouse + KQL DB).
In the KQL DB, run a query like

ItemJobEventLogs
| where ItemKind == "Pipeline"
| project Timestamp, WorkspaceName, ItemName, JobStatus,
          ExecutingPrincipalType, ExecutingPrincipalId, DurationMs
| order by Timestamp desc

 

I trust this will be helpful. If you found this guidance useful, you are welcome to acknowledge with a Kudos or by marking it as a Solution.

Hi Deborshi,

Thanks for the reply. However, in the result of this query I can’t see the user who triggered the pipeline. I need that information to be available in the pipeline environment at runtime.

Hi @Yazdan Unfortunately, you won't be able to capture the Submitted By of a pipeline at runtime. 

I trust this will be helpful. If you found this guidance useful, you are welcome to acknowledge with a Kudos or by marking it as a Solution.
deborshi_nag
Community Champion
Community Champion

Hello @Yazdan 

 

Unfortunately the Fabric Job Scheduler REST APIs don’t currently return “Submitted By” (the user who started the run) for DataPipeline job instances. The payloads you’re already using—List Item Job Instances and Get Item Job Instance—include fields like status, invokeType (Manual / Schedule / API), time stamps, and failureReason, but no user identity.

 

This has also been answered in the Community forum in the past. 

 

Solved: Is it possible to get username of the user who tri... - Microsoft Fabric Community

 

I trust this will be helpful. If you found this guidance useful, you are welcome to acknowledge with a Kudos or by marking it as a Solution.

Helpful resources

Announcements
April Fabric Update Carousel

Fabric Monthly Update - April 2026

Check out the April 2026 Fabric update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Users online (5,461)