Sharing my Power Automate template: Opportunity Linked Gift Audit

Options

Description:

This flow will pull a list of opportunities from RENXT and compare the funded amount to the amount of the linked gifts. Then send an email to the operations team if the totals don’t match.

Required connections:

Blackbaud Raiser’s Edge NXT Constituents
Blackbaud Raiser’s Edge NXT Gifts
Blackbaud Raiser’s Edge NXT Prospects
Office 365 Outlook
Microsoft Teams

Suggested skill level:

Beginner

Configuration details:

Begin by creating an opportunity list in RENXT that is filtered by:

  • Opportunity Status = (your choice) Use the statuses your organization uses to track funded opportunities.
  • Funded Amount = Greater than $0.00
  • Purpose = (your choice).

Download the flow:

Set up the Flow

  1. Update the recurrence trigger to suit your organization's schedule.
    • This flow is set to run on the first of every month at 8 am.
  2. In the “Select actions list from RENXT” step, Update the Action List
    • Link the list to the dynamic action list you created in RENXT.
  3. Update the “Append constituent info to array variable” step.
  4. Update the “Send an email (V2) notification if there are discrepancies” step
    • Replace the email address in the “To” field.
    • Update the email subject & body as needed.
    • Replace the email address in the “From (Send as)” field.
    • Replace the email address in the “Reply To” field.
    • Disable static result
  5. Update the “Post message in a chat or channel” step.
    • Disable static result

Category:

Automation, Data Management

Notes:

This flow expands on a flow published by @Austen Brown titled “Upcoming Opportunity Notification.” You can download that flow at https://community.blackbaud.com/forums/viewtopic/586/55255

This flow incorporates an error-handling method presented at the 2023 bbdevdays by @Alex Wong. You can learn more at https://youtu.be/WbUvc50Or-E?si=RuoQ9dVpWnqa9Lgc

OpportunityLinkedGiftAudit_20240523154955.zip

Comments

  • Sunshine Reinken Watson
    Sunshine Reinken Watson Community All-Star
    Tenth Anniversary Kudos 4 Name Dropper Participant

    @Hallie Guiseppe Thank you for sharing this!

  • @Sunshine Reinken Watson
    My pleasure! I hope you find it useful. ?

  • @Hallie Guiseppe
    This flow is very helpful. It has allowed us to see that the automated linking in Raisers Edge is linking pay-cash to the opportunity when a pledge is already linked, causing the total sum to double count. Is is possible to modify the sum parameters to include specific gift types?

  • @MaryAnn Coyle
    Hi MaryAnn,

    The short answer is yes. Off the top of my head (and without testing), I expect you would add a condition to determine which gift types get added to the variable. I will take a closer look and see if I can give you more specific direction asap.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 PowerUp Challenge #3 Gift Management Name Dropper

    @MaryAnn Coyle
    inside the For each linked gift get value and sum loop, after the Get a gift action, add a condition action for the Type dynamic content from Get a gift action and condition on which gift type you want. (keep in mind that API gift type is NOT the same as webview gift type NOR database view gift type). You will add mulitple “row” in the condition for each gift type you want.

    401ccb993496c617d551b650fbcd3883-huge-im

    and put the Increment variable add values action in the “Yes” path.

  • @Alex Wong Thank you for the guidance. That seems to have worked.

  • @Hallie Guiseppe
    Hi! I was excited to see this flow as an example; we're just learning to ise Power Automate and this addresses a specific need our prospect management team identified.

    Unfortunately I can't get this to work; I'm getting an error:

    Action 'For_each_linked_gift_get_value_and_sum' failed: The execution of template action 'For_each_linked_gift_get_value_and_sum' failed: the result of the evaluation of 'foreach' expression '@items('Apply_to_each_Get_opportunity_information')?['linked_gifts']' is of type 'Null'. The result must be a valid array.

    I've looked through each step and can't see what I'm missing – the only thing I changed after importing your flow was the method of sending the email, as we use Gmail. Would this have something to do with our underlying data? Thanks for any insihgt you have!

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 PowerUp Challenge #3 Gift Management Name Dropper

    @James Parsons
    error message indicate that the opportunity does not have any gift linked.

  • @James Parsons
    Hi James, I'm thrilled you are finding value in this flow. Alex is correct. Please see my presentation from #bbdevdays for a bit more discussion and another flow example that will account for a situation that null values may exist.

  • @Hallie Guiseppe @Alex Wong

    Ah – I see that I misunderstood the purpose of this flow then. We're looking to identify opportunities that don't have a linked gift but should, which appears to be the opposite of what this flow is doing.

    Still I think I can tweak it to our purposes. This will be a great way for me to learn about how PA works at any rate!

    And thanks for the video, I missed this session but am taking notes.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 PowerUp Challenge #3 Gift Management Name Dropper

    @James Parsons
    you can use the “Filter Array" action to condition on linked_gifts being null

  • @James Parsons
    If you only want ones that don't have linked gifts, you can change the configure after to only continue if the action fails.

Categories