App in a Day Question

Options

Alright, good (timezone-appropriate salutation) everyone. I'm struggling with the V2 of the App in a Day workshop application. I'm hoping that persons with more knowledge than I can help me fix this.

I managed to build and implement the application with relatively little issue, only to come upon the following error when attempting to utilize the app on a constituent record:

1e970d27d43063eadc346a71f2792534-huge-im
DonorUpdateEmailRequest.Run failed: The method 'Run' has an invalid value for parameter 'Sendanemail(V2)_Body_2'

I went back in to the application and, for me, the ‘Sendanemail(V2)_Body_2’ is the Constituent ID. In turn, the failure is in the Submit button. My coding for the Submit button is as follows:

DonorUpdateEmailRequest.Run(
Email.Text,
PhoneNumber.Text,
Param("context_recordID"),
AddressLines.Text,
City.Text,
If(IsBlank(StateValue.SelectedText.Value),"",StateValue.SelectedText.Value),
Zip.Text,
If(IsBlank(Country.SelectedText.Value),"",Country.SelectedText.Value),
ContactType.SelectedText.Value,
ContactType2.SelectedText.Value,
ContactType3.SelectedText.Value,
If(IsBlank(InfoSource.SelectedText.Value),"",InfoSource.SelectedText.Value),
Comments.Text,
If(CheckboxPrimary.Value=true,"Yes",""),
If(CheckboxDonorRequest.Value=true,"Yes","")
);Navigate(Screen2)

Hypothetically this should be no issue - it seems I've just managed to accidentally skip Pages 53 - 55 of adding the RE NXT data to the application. I went back to Pg 53, and attempted to add the Raiser's Edge connector, only to receive the following error.

45b55b3f7f021a7c0b6a2d72fd60fecf-huge-im

I did some research, and tried removing the coding that would refer to it (to the point of deleting all the coding for the submit button). I cannot get past this “Wadlmetaddata” error. Has anyone run in to this, and if so, how did you get around it?

Thanks in advance for your help!

Comments

  • @Cole Welsh If you put your cursor after the first parentheses in the expression, you should see a pop-up of all the needed fields, like this:

    44e3ee76cf917160b521e62cd0c6a7e7-huge-im


    Can you share a screen shot of what you see like this on your end?

    Also, are you trying to add the Raiser's Edge NXT Connector or the Raiser's Edge NXT Constituents Connector when you receive the last error?

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

    @Cole Welsh
    Looks like you have a Power App button that is calling a Power Automate to do something when the button is clicked.

    You will need to make sure your Power App is “sync” with the Power Automate and that the parameter is defined properly in both area.

    Also, I don't like the default way Power App create the Power Automate trigger, I always remove the trigger and use the V2 of PowerApp trigger as it allows you to better define you parameter being passed into the PowerApp:

    6db4152a49b9606d27659e801a43e8d5-huge-im
  • @Ashley Moose When I place my cursor in the parenthesis, I don't have a popup (my screencap software doesn't grab my cursor, but I promise it's in the parentheses).

    851f25ea7118b00841865eb069681eb8-huge-cu

    I'm assuming that I found all the missing entries when I was fidgeting with it yesterday.

    I receive the error when trying to connect the Constituents connector; I am able to connect the ‘regular’ RE NXT connection without issue.

  • @Cole Welsh

    Your expression with SendanemailV2 looks right so let's focus on the connector part for now.


    If you can connect to the main RENXT Connector (no constituents) that should work fine for this purpose, you'll just need to make sure other references in the app refer to this connector and not the constituents one.

    If you click the search icon and then search for BlackbaudRaisersEdge, you'll see all areas where this is referenced in the app in the search results. Click on/review each of those to ensure the corresponding expressions use BlackbaudRaisersEdgeNXT. and not BlackbaudRaisersNXTConstituents.

    3041a1c49e32703d7168c441b3e5cb93-huge-im

    (and sorry my screen shot is fuzzy, this is the best I can get it to paste in. If it's too hard to see let me know and I can email directly).

    Also, I've experienced a similar error before so I'll touch base with some internal resources here to see if we can get this reviewed as a bug.

  • @Alex Wong This is great information! I'm still so new to developing on the Power platform that I'm clinging desperately to tutorials and builds from other people, but I'll definitely keep this in mind. ?

  • @Ashley Moose I followed this and made sure all the connectors were swapped over to the “big” NXT connector. Now, when I open the application in NXT, I get the following error:

    4740e31a6d6586669ba4e152a357d29e-huge-im

    The coding that I'm using is:

    ClearCollect(REAddress,BlackbaudRaisersEdgeNXT.ListConstituentAddresses(ConsID,{include_inactive:false}).value);ClearCollect(REEmail,BlackbaudRaisersEdgeNXT.ListConstituentEmailAddresses(ConsID,{include_inactive:false}).value);ClearCollect(REPhone,BlackbaudRaisersEdgeNXT.ListConstituentPhones(ConsID,{include_inactive:false}).value)

    I double-checked my text label and it is “ConsID”, and the Text is set to Param("context_recordID"), so I'm not really sure what I'm doing wrong.

  • Update about the application development: Refreshed from the holiday weekend, I dug back in to the application to figure out exactly what was going wrong. I think that there were a couple compounding factors as listed below.

    (1) I mistakenly thought that I needed to do the structure from pg. 54 of the PDF to populate the Constituent ID on the data submission.

    (2) I did not understand that the Param("context_recordId") would pull the System ID, not the Constituent ID.

    Basically what I determined is that in order to get the app to do what I needed it to do (spit an identifier on the email to be able to find the record), I didn't need to do steps 7 - 14. I pulled the System ID to the application, following the steps to make it invisible. I then updated the final Run command on the Submit button to read as follows:

    DonorUpdateEmailRequest.Run(
    Email.Text,
    PhoneNumber.Text,
    ConsID.Text,
    AddressLines.Text,
    City.Text,
    If(IsBlank(StateValue.SelectedText.Value),"",StateValue.SelectedText.Value),
    Zip.Text,
    If(IsBlank(Country.SelectedText.Value),"",Country.SelectedText.Value),
    ContactType.SelectedText.Value,
    ContactType2.SelectedText.Value,
    ContactType3.SelectedText.Value,
    If(IsBlank(InfoSource.SelectedText.Value),"",InfoSource.SelectedText.Value),
    Comments.Text,
    If(CheckboxPrimary.Value=true,"Yes",""),
    If(CheckboxDonorRequest.Value=true,"Yes","")
    );Navigate(Screen2)

    Now, when the information is pulled in to the email, the System ID and the URL is completed:

    e6deaad5bed923e46e8dfdad4725b590-huge-im
    ac17f73ea731e42df87f4b369563dd39-huge-im

    My question now becomes: if Param("context_recordId") pulls the System ID, what is the command to pull the Constituent ID?

  • @Cole Welsh Glad to see you got everything working!! The param("context_recordId") is a defined context record output include as part of the SKY Add-in. For the constituent record, that is the only ID returned, which is usually sufficient as that is the ID needed for all SKY API calls. If you do need the Constituent Lookup ID though, you can get to that by using the Get a Constituent endpoint (and inputting the provided System ID).

Categories