Integrating Power Automate Flow with Power Apps for Blackbaud Constituent Existing Data

Options

I am working on integrating a Power Automate flow with a Power App for constituent data management, and I've run into some challenges.

Current Setup

  • I have a Power Automate flow that extracts existing constituent information (address, phone, email) from the constituent webpage using the record ID.
  • I've developed a constituent update app using Power Apps.

Integration Challenges

1. Flow Trigger Incompatibility: The existing flow isn't triggered by Power Apps, so I can't add it directly to my app.

2. HTTP Request Limitations: When I create a new flow triggered by Power Apps, I'm unable to extract information from the constituent page using HTTP requests.

Desired Outcome

I want to send the extracted constituent information from my Power Automate flow to my Power App.

Questions

1. Is there a way to integrate my existing flow with Power Apps, even though it's not directly triggered by the app?

2. Are there alternative methods to extract constituent data that would be compatible with a Power Apps-triggered flow?

Any insights would be greatly appreciated. Thanks in advance for your help!

Comments

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary 1,500 Likes 2500 Comments Name Dropper

    @Sahej Garg

    Few question on what exactly these 2 things are doing:

    • Power Automate flow
      • you said it extracts existing constituent info
      • how is this flow triggered?
      • is it extracting a specific constituent record's info, or ALL constituent info and store it somewhere else?
    • Power App
      • you said it is a constituent update app
      • what exactly is this app updating?
      • is it updating a single constituent or provides UI to see all constituent and user can select the constituent, make edits and save it back to RE NXT?

    Depending on what you are trying to do, Power App may or may not be what you want to use

  • @Alex Wong

    Question: How is this flow triggered?
    The flow is triggered when an HTTP request is received. When a user wants to update a particular constituent information, they go to their constituent information page and select the "Update Constituent Information" button from the Sky add-in.

    Question: Is it extracting a specific constituent's record info, or ALL constituent info and storing it somewhere else?
    Yes, the flow only extracts information about the specific constituent whose record the user is trying to update, not the entire database of constituents.

    Question: What exactly is this app updating?
    The app's primary function is to let users update specific details of a constituent's information, such as contact info (phone, email), or add new data for that constituent.

    Question: Is it updating a single constituent or providing a UI to see all constituents, allowing the user to select a constituent, make edits, and save it back to RE NXT?
    Yes, it’s updating a single constituent, and the endpoint is on the individual constituent’s page. This app provides a UI to select, add, or update existing information. If existing information is selected, it should display the existing information on the UI or tile.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary 1,500 Likes 2500 Comments Name Dropper

    @Sahej Garg
    Understood what you trying to do now.

    the “logic” you are envisioning is not exactly correct.

    First of all, see this:

    https://docs.blackbaud.com/microsoft-connectors-docs/microsoft-power-platform/power-apps/power-app-addins#context-values

    you can embed a powerapps as a TILE, flyout, modal or full screen app from constituent page, let's use the custom tile option as it is easier to explain.

    • Read the link above, you are able to receive the context values within powerapp.
    • create your powerapp such that you get the context_recordId, this is the constituent system record id
    • add the powerapp as custom tile on the constituent page
    • in the powerapp, code it such that onload, execute a flow.
    • this flow will have a PowerApp trigger (best to replace with the PowerApp V2 trigger that allows defining of parameters directly, you will define recordId (doesn't have to be this name) as string to pass into the flow
      • this flow will call the SKY API to get constituent information (using the recordId that was passed in) and pass back into the PowerApp
    • PowerApp then display the information that is returned
    • when update button is clicked on, another flow (or same flow but with additional conditional paramter is fine too) that actually does the update will happen.

    You also do not need to use PowerApp, another option is to use Adaptive Card

    https://community.blackbaud.com/forums/viewtopic/586/69847

    this will avoid the need for all users needing a powerapp license

Categories