cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Carolucia
Regular Visitor

Creating a flow from Shoutouts app to a list in Sharepoint

I have been asked to find a digital solution for our “praise” cards that we hand out at our workplace.  I found the shoutouts app and it seems to hit that requirements in terms of use and simplicity.

 

One requirement that I have not been able to meet that I would like to is that when you hit the submit button, the app user name, recipient name, and date are added to a Sharepoint list.  I have tried to do this myself with a flow connector, but I am getting a bit lost (I just started using Power Apps yesterday).

10 REPLIES 10
leyburn19
Memorable Member
Memorable Member

You should simple be able to patch to the list direct from the button. Add the patch to the submit

 

Patch(SPList,Defaults(SPList),{Col:name,Col1:}User().FullName,Date:Today())

Hello, thanks for the tip.  I think I got part of it to work, but something is still wrong

 

), Patch('Shoutouts Carpinteria', Defaults('Shoutouts Carpinteria'),
{
Date: Today(),
ShoutoutType: _selectedShoutout.Type,
CreatorName: _myProfile.DisplayName,
RecipientName: _selectedUser.DisplayName
}),

 

It can't get the creator name.  Should I be putting something else in this line?

 
 

Ok, fixed a bit and now I am not getting anymore errors

 

Patch(CPTShoutout, Defaults(CPTShoutout),{
Title:MessageInputBox.Text,
CreatedOnDateTime: Now(),
ShoutoutType: _selectedShoutout.Type,
CreatorName: _myProfile.DisplayName,
RecipientName: _selectedUser.DisplayName
}
),

 

However, when I try to use the PowerApp and click the Send button nothing is happening anymore.

When do you patch the result.  I just looked at the template and it occurs on the onvisible to the confirmation screen when shoutout is true

 

Looking at your sample it may be you have positioned it in the wrong place in the If statement.  I note the ), before the patch which tells you are sending if the if shoutout is false which means it would only work if it was not being sent which is not consistent with the steps.

Try Moving the ), to the end of teh patch and remove the comma ,  Before the patch put a semicolon ;

 

or instead of ), put ); before the patch.  This one is not good as it would mean it would run every time after the if statement which I do not believe is wanted

 

hello,

thank you for trying to help.  I think it may be easier if I post all the code since I have a very limited idea of what I am doing with it.  This is on visible on the Send Confirmation Screen.  I put the semicolon in and it still won't go through

If(_sendShoutout,
    Concurrent(
        // Set dynamic values for placeholders in email template
        ClearCollect(TemplateData,
            {Field: "{0}", Data:_selectedUser.DisplayName}, 
            {Field: "{1}", Data:_myProfile.DisplayName}, 
            {Field: "{2}", Data: If(IsMatch(_selectedShoutout.Type, "[AEIOUaeiou]", BeginsWith), "an ", "a ")},
            {Field: "{3}", Data: Upper(_selectedShoutout.Type)}, 
            {Field: "{4}", Data: Upper(_appURL)}
        ),
        // Write to data source
        Patch(Shoutout, Defaults(Shoutout),
            {
                CreatorEmail: _myProfile.UserPrincipalName, 
                PrimaryID: Value(Text(Now(), "[$-en-US]yyyymmddhhmmss")), 
                CreatedOnDateTime: Now(), 
                ShoutoutType: _selectedShoutout.Type, 
                RecipientEmail: _selectedUser.UserPrincipalName, 
                Image: UploadedImage1.Image, 
                CreatorName: _myProfile.DisplayName, 
                RecipientName: _selectedUser.DisplayName, 
                Message: MessageInputBox.Text
            }
        );  Patch(CPTShoutout, Defaults(CPTShoutout),
            {
                CreatedOnDateTime: Now(), 
                ShoutoutType: _selectedShoutout.Type, 
                CreatorName: _myProfile.DisplayName, 
                RecipientName: _selectedUser.DisplayName 
            }
        ),   
        // Set email recipients. If shoutout recipient isn't internal, don't search for or include their manager
        Set(_emailRecipients, _selectedUser.UserPrincipalName & ";user.name@company.com" & 
            If(_selectedUser.isInternal || Lower(_selectedUser.CompanyName) = Lower(_myProfile.CompanyName), 
                ";" & Office365Users.Manager(_selectedUser.UserPrincipalName).UserPrincipalName
            )
        )
    );

    // Replace placeholders in email template with dynamic values created above
    ForAll(TemplateData, Patch(Templates, LookUp(Templates, Template="Email"), {Value: Substitute(LookUp(Templates, Template="Email").Value, Field, Data)}));

    // If an image was uploaded with the Shoutout, include it as an attachment
    If(IsBlank(UploadedImage1.Image),
        Office365.SendEmailV2(_emailRecipients, "Shoutout!", LookUp(Templates, Template="Email").Value, {Importance: "Normal"}),
        Office365.SendEmailV2(_emailRecipients, "Shoutout!", LookUp(Templates, Template="Email").Value, 
            {
                Attachments: 
                    Table(
                        {
                            Name: "ShoutoutAttachment.jpg", 
                            ContentBytes: UploadedImage1.Image, 
                            '@odata.type': ""
                        }
                    ), 
                Importance: "Normal"
            }
        )
    );
        Set(_sendShoutout, false);

    // Resetting Email Template after email has been sent
    ClearCollect(Templates, 
        {
            Template: "Email", 
            Value: 
            "<html>
            <head>
                <meta http-equiv='Content-Type' content='text/html; charset=us-ascii'>
                <meta http-equiv='Cache-Control' content='no-siteapp'>
                <meta name='viewport' content='width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no'>
                <style type='style/css'>
                    table, table td {border-collapse: collapse;}
                </style>
                <link href='http://fonts.font.im/css?family=Open&#43;Sans:400,400italic,700' rel='stylesheet' type='text/css'>
            </head>

            <body>
                <table border='0' cellpadding='0' cellspacing='0' width='640' style='background:#4d4d4d;'>
                    <tr>

                        <td width='547' height='80' style='font-family: 'Open Sans', sans-serif;color:white;font-weight: bold;text-align: Center;font-size:24px;mso-fareast-font-family:'Open Sans';border-collapse: collapse;'>Shoutouts</td>
                    </tr>
                </table>
                <table border='0' cellpadding='0' cellspacing='0' width='640'>
                    <tr>
                        <td colspan='2'>
                            <table border='0' cellpadding='0' cellspacing='0'>
                                <tr>
                                    <td width='20'></td>
                                    <td height='110' width='600' style='font-family: 'Open Sans', sans-serif;text-align: left;font-size:24px;mso-fareast-font-family:'Open Sans';'>
                                        Hi {0},
                                    </td>
                                    <td width='20'></td>
                                </tr>
                                <tr>
                                    <td></td>
                                    <td width='600' style='font-family: 'Open Sans', sans-serif;text-align: left;font-size:24px;mso-fareast-font-family:'Open Sans';mso-line-height-rule:exactly;line-height:36px;'>
                                        Congratulations! Your colleague {1} has sent you {2} <b>{3}</b> shoutout. To view it, open the Shoutouts app.
                                    </td>
                                    <td></td>
                                </tr>
                                <tr>
                                    <td height='40'></td>
                                </tr>
                                <tr>
                                    <td></td>
                                    <td>
                                        <table border='0' cellpadding='0' cellspacing='0' width='100%'>
                                            <tr>
                                                <td width='209'>
                                                </td>
                                                <td width='180' height='34' style='font-family: 'Open Sans', sans-serif;mso-fareast-font-family:'Open Sans';text-align:center;border: solid 1px #b7b7b7;font-size: 14px; font-weight: bold;border-radius: 5px;'>
                                                    <a href={4} style='text-decoration:none;color: #4d4d4d;'>Open Shoutouts</a>
                                                </td>
                                                <td width='209'>
                                                </td>
                                            </tr>
                                        </table>
                                    </td>
                                    <td></td>
                                </tr>
                                <tr>
                                    <td height='96'></td>
                                    <td>
                                        <table border='0' cellpadding='0' cellspacing='0' width='100%'>
                                            <tr>
                                                <td width='28'>
                                                </td>
                                                <td width='544' height='96' style='border-bottom:1px solid #cccccc;'>
                                                </td>
                                                <td width='28'>
                                                </td>
                                            </tr>
                                        </table>
                                    </td>
                                    <td></td>
                                </tr>
                                <tr>
                                    <td height='28'></td>
                                </tr>
                                <tr>
                                    <td></td>
                                    <td width='600' style='
                                    font-size: 16px;
                                    line-height: 24px;
                                    font-style: italic;
                                    margin-top:30px;mso-line-height-rule:exactly;'>
                                        The Shoutouts app allows you to recognize and appreciate your peers across the company. Try it today! Download and install the PowerApps player from your app store.
                                    </td>
                                    <td></td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </body>
            </html>"
        }
    )
)

 

Ok, you are inside the concurrent so does need to be the comma. There is no obvious to me why it fails at the moment other than the comma. Are there any specific failure notes?

No failure notes at all.  I just click send and nothing happens now when I try to test it.  If I remove the Patch it works again.

When the screen is in design mode. Is there a red X in the  top left cornerOr looking at the code simply run your mouse over slowly the actual patch code. It may highlight the error at that point in time

ran the mouse over the code and nothing pops up.  I also ran the app checker and it cannot find any issues.

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors
Top Kudoed Authors
Users online (2,032)