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

Append a variable to all links in an html email

Hey everybody,

 

at the moment I am struggling with appending an variable to all links in an email. I create an email in M365 Marketing and get the email entity into Power Automate with the whole html body. Now I want to add utm parameters to every link in the email. Did anybody know how I do this? I did some things in Power Automate but I am far away from being a IT professional.

 

I start with getting the entity from data verse, when someone adds a value to an utm column I configured with Power Apps.

Then I get the html body of the email to Power Automate. Now I want to append to every link the utm tag I got from Power Apps with a variable.

 

Screenshot 2022-06-01 at 19.46.33.png

Screenshot 2022-06-01 at 19.49.02.png

 

Could anybody help me or does anybody has a solution to this and can show me how to achieve this?

 

Best regards

Niklas

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

Aha ... well that's much easier, then.

 

Still, I will not be attempting it myself right now, however if I were, I'd make a flow thusly:

  1. create two string variables thisQueryVAR & htmlContentVAR
  2. Apply to each - an apply to each dataverse item fill them accordingly (replace DV_CALL with the appropriate call in the expression):
    1. thisQueryVAR - the UTM that needs to go in
      utm_campaign=DV_CALL
    2. htmlContentVAR - the html for the email
    3. create a separate Select action with the keys:
      1. subStringPos - registers the numerical position of each href=" in the text
      2. hasQuery - registers if it already has a 'query' on the end, by seeing if it has a '?' before the end of the url (complex, but not impossible)
    4. Apply to each looping the items in the Select:
      1. Compose - pulling the current value of htmlContentVAR into a Compose action called blah
      2. Substring - an action (not expression function!) on the text in blah replacing the url with the the new one
      3. Set variable - to set the value of htmlContentVAR before moving on to the next one
    5. Send the email with the text from htmlContentVAR

I'll try to come do that over the next day or so unless someone else already has. Suffice to say, it might require concurrency rules to be limited to 1 in case of weirdness with variables, however it should automatically figure that out.

View solution in original post

12 REPLIES 12
eliotcole
Super User
Super User

I'm not suggesting that I'll be the fixer, here, @NiklasM, but if you show us what this UTM data looks like when it's coming in (an example, or obfuscated text/images) it might really help with how someone can push that through and into your ongoing email.

 

One thing I can advise, with regard to formatting the link correctly, is to build the whole email in the code view of what ever email application you use in the flow. Because then you can set the HREF and value of the <a> tag.

NiklasM
Regular Visitor

So I have an HTML File, which is saved as an Marketing Email in Microsoft Dynamics 365 Marketing. I adjusted the Email Header Table to define for the email some utm tags. After saving I want to add those parameters automatically to every link in the email. I can get the HTML with the data verse connector, aswell as the utm tags, which I define for the email. Then I need to go through the HTML with Power Automate and add the utm tags to the links or to replace them with a version of the link with the utm tags.

 

Apologies ... I mean the *literal* data as it comes in.

 

such as:
<html>
<head>
</head>
<body>
<p>Oh my gosh, I am a web page!</p>
</body>
</html>
or maybe it's a stringified in a JSON string field:
{
  "type": "html",
  "htmlBody": "<html>\n<head>\n</head>\n<body>\n<p>Oh my gosh, I am a web page!</p>\n</body>\n</html>"
}

 

 

 

 

 

Without knowing what your flow is seeing, folks might have a tougher time translating that into any meaningful logic processing.

 

For example, if your urls are stored in list items within that HTML, like this:
  1. StartPage.com
  2. DuckDuckGo.com
  3. Power Users Forum
It would look like this code:
<ol>
<li><a href="https://startpage.com" target="_blank" rel="noopener">StartPage.com</a></li>
<li><a href="https://duckduckgo.com" target="_blank" rel="noopener">DuckDuckGo.com</a></li>
<li><a href="https://powerusers.microsoft.com/t5/Building-Flows" target="_blank" rel="noopener">Power Users Forum</a></li>
</ol>

If that were the case, then folks here would know that your flow needs to parse an HTML list, and then the href data and content for each <a> tag.

From a markup perspective it could differ, since there are many modules we are using. But for example the email template in MS Dynamics could look like this:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>My Email Subject</title><meta name="referrer" content="never"><meta type="xrm/designer/setting" name="type" value="marketing-designer-content-editor-document"><meta type="xrm/designer/setting" name="layout-editable" value="marketing-designer-layout-editable"><meta type="xrm/designer/setting" name="layout-max-width" value="600px" datatype="text" label="Layout max width"><meta type="xrm/designer/setting" name="font-family" value="Verdana, Arial, sans-serif" datatype="font" label="Font Family"><meta type="xrm/designer/setting" name="body-text-size" value="14px" datatype="text" label="Body Font Size"><meta type="xrm/designer/setting" name="body-text-color" value="#000" datatype="color" label="Body Text Color"><meta type="xrm/designer/setting" name="outer-background" value="#FFFFF" datatype="color" label="Email Background"><style>body,div {font-family:/* @font-family */Verdana,/* @font-family */Arial,/* @font-family */sans-serif/* @font-family */;font-size:/* @body-text-size */14px/* @body-text-size */;color:/* @body-text-color */#000/* @body-text-color */;background-color:/* @outer-background */#fff/* @outer-background */;}div div {background-color: transparent;}[data-layout="true"] {margin: 0 auto;max-width:/* @layout-max-width */600px/* @layout-max-width */;}</style></head><body><div data-layout="true" data-layout-version="v2"><div data-section="true" class=""><table class="outer" align="center" cellpadding="0" cellspacing="0" style="border-collapse: collapse;width: 600px;display: block;"><tbody><tr><th style="padding: 30px;"><table style="    display: block;    width: 100%;    border-collapse: collapse;" class="containerWrapper tbContainer" cellpadding="0" cellspacing="0"><tbody><tr><th data-container="true" class="columnContainer" data-container-width="100" style="vertical-align: top; min-width: 5px; width: 540px;" id="containere364b9bf77a831647881692858"><table width="100%" cellpadding="0" cellspacing="0"><tbody><tr><th class="inner ui-sortable" style="min-width: 5px; padding: 10px; vertical-align: top;  word-wrap: break-word; word-break: break-word;"><div data-editorblocktype="Image" style="padding: 0px; margin: 0px;"><div align="center" class="imageWrapper" style="width: 100%;" width="100%"><img src="https://mktdplp102cdn.azureedge.net/public/1.83.2008.0/static/email/images/LogoImages/newTemplate_logo80x40.png" style="max-height: 100%; max-width: 100%; box-sizing: border-box;  border-radius: 0px; margin-left: auto; margin-right: auto;" class="" alt="Company logo"><div class="clear" style="clear: both; height: 0px; width: 0px;"></div></div></div></th></tr></tbody></table></th></tr></tbody></table></th></tr></tbody></table></div><div data-section="true" class=""><table class="outer" align="center" cellpadding="0" cellspacing="0" style="border-collapse: collapse;width: 600px;display: block;"><tbody><tr><th style="padding: 30px;"><table style="width: 100%; border-collapse: collapse;" class="containerWrapper tbContainer" cellpadding="0" cellspacing="0"><tbody><tr><th data-container="true" class="columnContainer" data-container-width="100" style="min-width: 20px; width: 540px;" id="containerfdb102f122ed61647868141605"><table width="100%" cellpadding="0" cellspacing="0"><tbody><tr><th class="inner ui-sortable" style="min-width: 20px; padding: 10px; vertical-align: top;  word-wrap: break-word; word-break: break-word;"><div data-editorblocktype="Image" style="padding: 0px; margin: 0px;"><div align="Center" class="imageWrapper" style=""><img src="https://mktdplp102cdn.azureedge.net/public/1.83.2008.0/static/email/images/PlaceholderIcons/sample_image_placeholder_800x300.png" style="max-height: 100%; max-width: 100%; box-sizing: border-box; border-radius: 0px;"></div></div><div data-editorblocktype="Text" style="margin: 30px 0px 0px;"><p style="text-align: center;"> <span style="line-height:1.5;"><span style="font-size: 28px; line-height: 1.5;"><span style="font-family: &quot;Segoe UI&quot;, Frutiger, &quot;Helvetica Neue&quot;, Arial, sans-serif; line-height: 1.5;">Keep headline short and relevant&nbsp;&nbsp;</span></span></span> </p></div><div data-editorblocktype="Text" style="margin: 10px 0px 30px;"><p style="text-align: center;"><span style="line-height:1.5;"><span style="font-size: 14px; line-height: 1.5;"><span style="font-family: &quot;Segoe UI&quot;, Frutiger, &quot;Helvetica Neue&quot;, Arial, sans-serif; line-height: 1.5;">Customize your email with fonts and colors that reflect your brand and add personalized content for better engagement.</span></span></span></p>

<p><br></p>

<p style="text-align: center;"><span style="line-height:1.5;"><span style="font-size: 14px; line-height: 1.5;"><span style="font-family: &quot;Segoe UI&quot;, Frutiger, &quot;Helvetica Neue&quot;, Arial, sans-serif; line-height: 1.5;">Keep it short and have a clear action for your audience to act on.</span></span></span><br>
&nbsp;<br>
&nbsp;</p>
</div><div data-editorblocktype="Button" align="center" style="margin: 0px;" class="buttonWrapper"><a class="buttonClass" href="#Button" style="text-align: center; margin-right: auto; margin-left: auto; display: inline-block; background-color: rgb(34, 102, 227); border-radius: 4px; color: rgb(255, 255, 255); width: fit-content; height: auto; padding: 10px 20px; max-width: 100%; border: 1px none rgb(255, 255, 255); font-size: 14px; vertical-align: middle; line-height: normal;" data-msdyn-tracking-id="6a58f5fbcacdd1647868177098" data-msdyn-tracking="false"><span style="font-family: Verdana, Arial, sans-serif;">Call to action</span></a></div></th></tr></tbody></table></th></tr></tbody></table></th></tr></tbody></table></div><div data-section="true" class="emptyContainer"><table class="outer" align="center" cellpadding="0" cellspacing="0" style="border-collapse: collapse;width: 600px;display: block;">
                  <tbody>
                      <tr>
                          <th style="padding: 0px;">
                  <table style="
                width: 100%;
                border-collapse: collapse;
            " class="containerWrapper tbContainer multi" cellpadding="0" cellspacing="0">
                      <tbody>
                      <tr>
                          <th data-container="true" class="columnContainer" data-container-width="50.00" style="vertical-align: top; min-width: 5px; width: 300px;" id="containercbe6d1d25ea5881654187906001">
                          <table width="100%" cellpadding="0" cellspacing="0">
                              <tbody>
                              <tr>
                                  <th class="inner" style="min-width: 5px; padding: 10px; vertical-align: top; word-wrap: break-word; word-break: break-word;">
                                  <div data-editorblocktype="Text"><p>&nbsp;asdasd</p>

<p><br></p>
</div><div data-editorblocktype="Button" align="center" class="buttonWrapper"><a class="buttonClass" href="#Button" style="text-align: center; margin-right: auto; margin-left: auto; display: inline-block; text-decoration: none; background-color: rgb(34, 102, 227); border-radius: 4px; color: rgb(255, 255, 255); width: fit-content; height: auto; padding: 10px 20px; max-width: 100%; line-height: normal;mso-hide: none !important;" data-msdyn-tracking-id="bb76c384057c1654187933289"><span style="font-family: Verdana, Arial, sans-serif;">Button</span></a></div></th>
                              </tr>
                              </tbody>
                          </table>
                          </th>
                      <th data-container="true" class="columnContainer" data-container-width="50.00" style="vertical-align: top; min-width: 5px; width: 300px;" id="container18d4cdef7ff7d81654187915792"><table width="100%" cellpadding="0" cellspacing="0">
                         <tbody>
                             <tr>
                                 <th class="columnContainer inner" style="padding: 10px; min-width: 5px; vertical-align: top; word-wrap: break-word; word-break: break-word;">
                                 <div data-editorblocktype="Text"><p>asdsad</p>

<p><br></p>
</div><div data-editorblocktype="Button" align="center" class="buttonWrapper"><a class="buttonClass" href="#Button" style="text-align: center; margin-right: auto; margin-left: auto; display: inline-block; text-decoration: none; background-color: rgb(34, 102, 227); border-radius: 4px; color: rgb(255, 255, 255); width: fit-content; height: auto; padding: 10px 20px; max-width: 100%; line-height: normal;mso-hide: none !important;" data-msdyn-tracking-id="1cae4cf67bbd481654187923972"><span style="font-family: Verdana, Arial, sans-serif;">Button</span></a></div></th>
                             </tr>
                         </tbody>
                     </table></th></tr>
                      </tbody>
                  </table> 
                  </th>
              </tr>
              </tbody>
          </table></div><div data-section="true" class=""><table class="outer" align="center" cellpadding="0" cellspacing="0" style="border-collapse: collapse;width: 600px;display: block;"><tbody><tr><th style="padding: 30px 30px 0px;"><table style="    display: block;    width: 100%;    border-collapse: collapse;" class="containerWrapper tbContainer multi" cellpadding="0" cellspacing="0"><tbody><tr><th data-container="true" class="columnContainer" data-container-width="30.00" style="vertical-align: top; min-width: 5px; width: 162px;" id="containerdd669325ff6111647875557440"><table width="100%" cellpadding="0" cellspacing="0" class="" style=""><tbody><tr><th class="columnContainer inner ui-sortable" style="min-width: 5px; padding: 10px 0px; vertical-align: top;  word-wrap: break-word; word-break: break-word;"></th></tr></tbody></table></th><th data-container="true" class="columnContainer" data-container-width="13.00" style="vertical-align: top; min-width: 5px; width: 70.2px;" id="container57981bc051edf1647875557440"><table width="100%" cellpadding="0" cellspacing="0" class="" style=""><tbody><tr><th class="columnContainer inner ui-sortable narrowContainer" style="min-width: 5px; padding: 10px 0px 0px; vertical-align: top;  word-wrap: break-word; word-break: break-word;"><div data-editorblocktype="Image" style="padding: 0px; margin: 0px;"><div align="Center" class="imageWrapper" style=""><a href="{{msdyncrm_contentsettings.msdyncrm_facebookurl}}" data-msdyn-tracking="null"><img src="https://mktdplp102cdn.azureedge.net/public/1.83.2008.0/static/email/images/SocialIcons24x24Gray/Facebook.png" style="max-height: 100%; max-width: 100%; box-sizing: border-box;  border-radius: 0px; height: 24px !important; width: 24px !important;" class="" alt="Facebook" height="24" width="23"></a></div></div></th></tr></tbody></table></th><th data-container="true" class="columnContainer" data-container-width="13.00" style="vertical-align: top; min-width: 5px; width: 70.2px;" id="container2e14ab49d4cd81647875557440"><table width="100%" cellpadding="0" cellspacing="0" class="" style=""><tbody><tr><th class="columnContainer inner ui-sortable narrowContainer" style="min-width: 5px; padding: 10px 0px 0px; vertical-align: top;  word-wrap: break-word; word-break: break-word;"><div data-editorblocktype="Image" style="padding: 0px; margin: 0px;"><div align="Center" class="imageWrapper" style=""><a href="{{msdyncrm_contentsettings.msdyncrm_twitterurl}}" data-msdyn-tracking="null"><img src="https://mktdplp102cdn.azureedge.net/public/1.83.2008.0/static/email/images/SocialIcons24x24Gray/Twitter.png" style="max-height: 100%; max-width: 100%; box-sizing: border-box;  border-radius: 0px; height: 24px !important; width: 24px !important;" class="" alt="Twitter" height="24" width="23"></a></div></div></th></tr></tbody></table></th><th data-container="true" class="columnContainer" data-container-width="13.00" style="vertical-align: top; min-width: 5px; width: 70.2px;" id="containerbf100d5d438f21649404515004"><table width="100%" cellpadding="0" cellspacing="0"><tbody><tr><th class="columnContainer inner narrowContainer" style="padding: 10px; min-width: 5px; vertical-align: top;  word-wrap: break-word; word-break: break-word;"><div data-editorblocktype="Image" style="padding: 0px; margin: 0px;"><div align="Center" class="imageWrapper" style=""><a href="{{msdyncrm_contentsettings.msdyncrm_youtubeurl}}"><img src="https://mktdplp102cdn.azureedge.net/public/1.83.2008.0/static/email/images/SocialIcons24x24Gray/Youtube.png" style="max-height: 100%; max-width: 100%; box-sizing: border-box;  border-radius: 0px; height: 24px !important; width: 24px !important;" class="" alt="Youtube" height="24" width="23"></a></div></div></th></tr></tbody></table></th><th data-container="true" class="columnContainer" data-container-width="31.00" style="vertical-align: top; min-width: 5px; width: 167.4px;" id="container24318fde3c3971649404517379"><table width="100%" cellpadding="0" cellspacing="0"><tbody><tr><th class="columnContainer inner" style="padding: 10px; min-width: 5px; vertical-align: top;  word-wrap: break-word; word-break: break-word;"></th></tr></tbody></table></th></tr></tbody></table></th></tr></tbody></table></div><div data-section="true" style="" class=""><table class="outer" align="center" cellpadding="0" cellspacing="0" style="border-collapse: collapse;width: 600px;display: block;"><tbody><tr><th style="padding: 10px 30px 30px; background-color: rgba(0, 0, 0, 0); border-radius: 0px;"><table style="display: block; width: 100%; border-collapse: collapse;" class="containerWrapper tbContainer" cellpadding="0" cellspacing="0"><tbody><tr><th data-container="true" class="columnContainer" data-container-width="100" style="min-width: 5px; width: 540px;" id="containereaaad505204851647868141605"><table width="100%" cellpadding="0" cellspacing="0"><tbody><tr><th class="inner ui-sortable" style="min-width: 5px; padding: 10px; vertical-align: top;  word-wrap: break-word; word-break: break-word; border-width: 1px;"><div data-editorblocktype="Text"><p style="text-align: center;"> <span style="color:#605e5c;"><span style="font-family:Verdana,Geneva,sans-serif;"><span style="font-size:11px;">© 2022 Company Inc. All rights reserved.</span></span></span> </p><p style="text-align: center;"> <span style="color:#605e5c; font-size: 11px;"> <font face="Verdana, Geneva, sans-serif"><span>{{msdyncrm_contentsettings.msdyncrm_addressmain}}</span></font> </span> </p><p style="text-align: center;"><a href="{{msdyncrm_contentsettings.msdyncrm_subscriptioncenter}}"><span style="color:#1f6cf9;"> <font face="Verdana, Geneva, sans-serif"><span style="font-size: 11px;">Unsubscribe</span></font> </span></a></p></div></th></tr></tbody></table></th></tr></tbody></table></th></tr></tbody></table></div></div></body></html>

OK, nice, that makes emails that look something like this, right?

lost email image 😞

I'm assuming from your initial post that you're taking the 'cr5eb_utmcampaign' value from the dataverse data.

 

The final (two-part) question I have which will help whomever resolves this for you is:

  1. Which URLs do you wish to change in/on that email?
  2. Where does that 'cr5eb_utmcampaign' value need to go in the URL?

The resolver will need to know the first piece of information to work out how to parse the HTML, for the correct URLs.

 

They will need the second to know where to place the extra information. For example, does it go in a query at the end like this?

<a href="LINK_ADDRESS?cr5eb_utmcampaign_id=VALUE">LINK_NAME</a>

 

If it doesn't need to actually be a part of all of the URLs, would it be OK in an attribute of the <a> tag, like this?

<a href="LINK_ADDRESS" cr5eb_utmcampaign_id="VALUE">LINK_NAME</a>
NiklasM
Regular Visitor

Good morning,

 

almost right 🙂 The Parameter from data verse needs to be attached to every URL like this: 

 

<a href=“https://www.example.com?utm_campaign=ValueFromDataverse”>Linkname</>

The utm tags are used for tracking purpose and to see the interaction later in Goggle Analytics and other Tracking engines. 

Best regards

Niklas

Aha ... well that's much easier, then.

 

Still, I will not be attempting it myself right now, however if I were, I'd make a flow thusly:

  1. create two string variables thisQueryVAR & htmlContentVAR
  2. Apply to each - an apply to each dataverse item fill them accordingly (replace DV_CALL with the appropriate call in the expression):
    1. thisQueryVAR - the UTM that needs to go in
      utm_campaign=DV_CALL
    2. htmlContentVAR - the html for the email
    3. create a separate Select action with the keys:
      1. subStringPos - registers the numerical position of each href=" in the text
      2. hasQuery - registers if it already has a 'query' on the end, by seeing if it has a '?' before the end of the url (complex, but not impossible)
    4. Apply to each looping the items in the Select:
      1. Compose - pulling the current value of htmlContentVAR into a Compose action called blah
      2. Substring - an action (not expression function!) on the text in blah replacing the url with the the new one
      3. Set variable - to set the value of htmlContentVAR before moving on to the next one
    5. Send the email with the text from htmlContentVAR

I'll try to come do that over the next day or so unless someone else already has. Suffice to say, it might require concurrency rules to be limited to 1 in case of weirdness with variables, however it should automatically figure that out.

Hey Eliot,

 

thanks a lot. I will try to reproduce this in my Power Automate instance but I don't think that I will manage this because I never used Power Automate to query text.

I will keep you updated 🙂

 

Best regards

Niklas Mages

NiklasM
Regular Visitor

Hey Eliot,

 

unfortunately it didn’t work out 😞 could you share the steps you would take with the expressions or could you show me in a Teams meeting? That would be great. 

Best regards 

Niklas

I'll try to take a proper look at this over the next couple of days, and if you don't get movement on it from someone else, then drop me a private message to remind me. 👍

 

Keep making test flows, though, you learn more with each try! (and really break each thing that you want to do down to the most basic step)

Was a little bit easier and the solution takes like 15sec to execute.

drummer
Advocate II
Advocate II

To get a dynamic link to a file, for me I'm using Dynamics 365. 
In email just use the html view and insert the a href link and insert field for the =GUID.  If you look at your link for the GUID format you can copy that.  requires basic knowledge of html link and a href but solved easy for me this morning. 


Helpful resources

Announcements

Calling all User Group Leaders and Super Users! Mark Your Calendars for the next Community Ambassador Call on May 9th!

This month's Community Ambassador call is on May 9th at 9a & 3p PDT. Please keep an eye out in your private messages and Teams channels for your invitation. There are lots of exciting updates coming to the Community, and we have some exclusive opportunities to share with you! As always, we'll also review regular updates for User Groups, Super Users, and share general information about what's going on in the Community.     Be sure to register & we hope to see all of you there!

April 2024 Community Newsletter

We're pleased to share the April Community Newsletter, where we highlight the latest news, product releases, upcoming events, and the amazing work of our outstanding Community members.   If you're new to the Community, please make sure to follow the latest News & Announcements and check out the Community on LinkedIn as well! It's the best way to stay up-to-date with all the news from across Microsoft Power Platform and beyond.    COMMUNITY HIGHLIGHTS   Check out the most active community members of the last month! These hardworking members are posting regularly, answering questions, kudos, and providing top solutions in their communities. We are so thankful for each of you--keep up the great work! If you hope to see your name here next month, follow these awesome community members to see what they do!   Power AppsPower AutomateCopilot StudioPower PagesWarrenBelzDeenujialexander2523ragavanrajanLaurensMManishSolankiMattJimisonLucas001AmikcapuanodanilostephenrobertOliverRodriguestimlAndrewJManikandanSFubarmmbr1606VishnuReddy1997theMacResolutionsVishalJhaveriVictorIvanidzejsrandhawahagrua33ikExpiscornovusFGuerrero1PowerAddictgulshankhuranaANBExpiscornovusprathyooSpongYeNived_Nambiardeeksha15795apangelesGochixgrantjenkinsvasu24Mfon   LATEST NEWS   Business Applications Launch Event - On Demand In case you missed the Business Applications Launch Event, you can now catch up on all the announcements and watch the entire event on-demand inside Charles Lamanna's latest cloud blog.   This is your one stop shop for all the latest Copilot features across Power Platform and #Dynamics365, including first-hand looks at how companies such as Lenovo, Sonepar, Ford Motor Company, Omnicom and more are using these new capabilities in transformative ways. Click the image below to watch today!   Power Platform Community Conference 2024 is here! It's time to look forward to the next installment of the Power Platform Community Conference, which takes place this year on 18-20th September 2024 at the MGM Grand in Las Vegas!   Come and be inspired by Microsoft senior thought leaders and the engineers behind the #PowerPlatform, with Charles Lamanna, Sangya Singh, Ryan Cunningham, Kim Manis, Nirav Shah, Omar Aftab and Leon Welicki already confirmed to speak. You'll also be able to learn from industry experts and Microsoft MVPs who are dedicated to bridging the gap between humanity and technology. These include the likes of Lisa Crosbie, Victor Dantas, Kristine Kolodziejski, David Yack, Daniel Christian, Miguel Félix, and Mats Necker, with many more to be announced over the coming weeks.   Click here to watch our brand-new sizzle reel for #PPCC24 or click the image below to find out more about registration. See you in Vegas!       Power Up Program Announces New Video-Based Learning Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram. These include a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the image below to find out more!   UPCOMING EVENTS Microsoft Build - Seattle and Online - 21-23rd May 2024 Taking place on 21-23rd May 2024 both online and in Seattle, this is the perfect event to learn more about low code development, creating copilots, cloud platforms, and so much more to help you unleash the power of AI.   There's a serious wealth of talent speaking across the three days, including the likes of Satya Nadella, Amanda K. Silver, Scott Guthrie, Sarah Bird, Charles Lamanna, Miti J., Kevin Scott, Asha Sharma, Rajesh Jha, Arun Ulag, Clay Wesener, and many more.   And don't worry if you can't make it to Seattle, the event will be online and totally free to join. Click the image below to register for #MSBuild today!   European Collab Summit - Germany - 14-16th May 2024 The clock is counting down to the amazing European Collaboration Summit, which takes place in Germany May 14-16, 2024. #CollabSummit2024 is designed to provide cutting-edge insights and best practices into Power Platform, Microsoft 365, Teams, Viva, and so much more. There's a whole host of experts speakers across the three-day event, including the likes of Vesa Juvonen, Laurie Pottmeyer, Dan Holme, Mark Kashman, Dona Sarkar, Gavin Barron, Emily Mancini, Martina Grom, Ahmad Najjar, Liz Sundet, Nikki Chapple, Sara Fennah, Seb Matthews, Tobias Martin, Zoe Wilson, Fabian Williams, and many more.   Click the image below to find out more about #ECS2024 and register today!     Microsoft 365 & Power Platform Conference - Seattle - 3-7th June If you're looking to turbo boost your Power Platform skills this year, why not take a look at everything TechCon365 has to offer at the Seattle Convention Center on June 3-7, 2024.   This amazing 3-day conference (with 2 optional days of workshops) offers over 130 sessions across multiple tracks, alongside 25 workshops presented by Power Platform, Microsoft 365, Microsoft Teams, Viva, Azure, Copilot and AI experts. There's a great array of speakers, including the likes of Nirav Shah, Naomi Moneypenny, Jason Himmelstein, Heather Cook, Karuana Gatimu, Mark Kashman, Michelle Gilbert, Taiki Y., Kristi K., Nate Chamberlain, Julie Koesmarno, Daniel Glenn, Sarah Haase, Marc Windle, Amit Vasu, Joanne C Klein, Agnes Molnar, and many more.   Click the image below for more #Techcon365 intel and register today!     For more events, click the image below to visit the Microsoft Community Days website.      

Tuesday Tip | Update Your Community Profile Today!

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   We're excited to announce that updating your community profile has never been easier! Keeping your profile up to date is essential for staying connected and engaged with the community.   Check out the following Support Articles with these topics: Accessing Your Community ProfileRetrieving Your Profile URLUpdating Your Community Profile Time ZoneChanging Your Community Profile Picture (Avatar)Setting Your Date Display Preferences Click on your community link for more information: Power Apps, Power Automate, Power Pages, Copilot Studio   Thank you for being an active part of our community. Your contributions make a difference! Best Regards, The Community Management Team

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp  

Super User of the Month | Ahmed Salih

We're thrilled to announce that Ahmed Salih is our Super User of the Month for April 2024. Ahmed has been one of our most active Super Users this year--in fact, he kicked off the year in our Community with this great video reminder of why being a Super User has been so important to him!   Ahmed is the Senior Power Platform Architect at Saint Jude's Children's Research Hospital in Memphis. He's been a Super User for two seasons and is also a Microsoft MVP! He's celebrating his 3rd year being active in the Community--and he's received more than 500 kudos while authoring nearly 300 solutions. Ahmed's contributions to the Super User in Training program has been invaluable, with his most recent session with SUIT highlighting an incredible amount of best practices and tips that have helped him achieve his success.   Ahmed's infectious enthusiasm and boundless energy are a key reason why so many Community members appreciate how he brings his personality--and expertise--to every interaction. With all the solutions he provides, his willingness to help the Community learn more about Power Platform, and his sheer joy in life, we are pleased to celebrate Ahmed and all his contributions! You can find him in the Community and on LinkedIn. Congratulations, Ahmed--thank you for being a SUPER user!

Tuesday Tip: Getting Started with Private Messages & Macros

Welcome to TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   This Week's Tip: Private Messaging & Macros in Power Apps Community   Do you want to enhance your communication in the Community and streamline your interactions? One of the best ways to do this is to ensure you are using Private Messaging--and the ever-handy macros that are available to you as a Community member!   Our Knowledge Base article about private messaging and macros is the best place to find out more. Check it out today and discover some key tips and tricks when it comes to messages and macros:   Private Messaging: Learn how to enable private messages in your community profile and ensure you’re connected with other community membersMacros Explained: Discover the convenience of macros—prewritten text snippets that save time when posting in forums or sending private messagesCreating Macros: Follow simple steps to create your own macros for efficient communication within the Power Apps CommunityUsage Guide: Understand how to apply macros in posts and private messages, enhancing your interaction with the Community For detailed instructions and more information, visit the full page in your community today:Power Apps: Enabling Private Messaging & How to Use Macros (Power Apps)Power Automate: Enabling Private Messaging & How to Use Macros (Power Automate)  Copilot Studio: Enabling Private Messaging &How to Use Macros (Copilot Studio) Power Pages: Enabling Private Messaging & How to Use Macros (Power Pages)

Users online (5,860)