3

I would like to create an extract of all Failed Flow Interviews to load into a data warehouse. The current attempt is to utilize our Rest API data extraction to execute a SOQL query against the Flowinterview object.

My API user does not see the same result as System Administrator from the FlowInterview and FlowInterviewLogin when the SOQL is run via Rest API. There is 1 row returned via System Administrator SOQL and 0 rows returned via API user SOQL. The 1 row returned via system administrator SOQL also matches with the Setup > Failed Flow Interviews List Object number of rows.

SOQL: SELECT Id, Name, CreatedDate, InterviewLabel, InterviewStatus FROM FlowInterview Order by CreatedDate DESC

The API user is set with Minimum API permissions, Flow User is on, and has a Permission Set that grants access to Manage Flows and View Flows. This all seems to be in line with the FlowInterview API documentation.

The flow that generated the FlowInterview Failure has no additional security requirements on there and is not limited to certain profiles. The flow itself is deactivated but reactivating it has no impact on the query result from the API user.

I am aware that I can workaround the extraction by creating a custom scheduled Apex extractor that would run under the System Administrator context; but as this is a simple ELT process, I was hoping I could get these FlowInterview records from an API user without granting that API user too much access.

I've also tried granting View All Records System Permission Permission set to the API User, and that does give me the results I want. This is undesirable for many reasons.

Questions

  1. Is it really possible to extract all records of the FlowInterview object via the API?
  2. What type of security profile must I have on the user/profile/permission set so that all rows are attainable via a REST API SOQL call?
  3. Do i need additional record based ACL setup in order to attain the FlowInterview records? I have seen a FlowInterviewShare object out there; it's not clear how those records impact the visibility of the FlowInterview records.

1 Answer 1

3

Go to your Setuo > Sharing Settings. More likely than not, your Flow Interview is Org Wide Default Private

Scroll down the page and

  • create a Flow Interview sharing rule where the flow interviews (any) are granted Read permission to a Public Group Data Warehouse Integration
  • assign your API user to that Public Group

Your instincts were correct in not assigning View All Data permission to the running user.

You probably also can use the special license for API integrations (5 free with each Enterprise Edition; extras dirt cheap) and save on a full license for other use cases

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .