cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
GillianEd
Frequent Visitor

Split ; delimited content of an excel table cell for use in a flow without using macros and fully online

Hello,

 

I am a complete newbie to all this.

 

I have a spreadsheet that is populated from a form submission that triggers a Power Automate flow. The form deliberately generates multiple responses in six of the cells in the newly created row. These come into the table as ';' delineated text - eg

 

Learners in my courses are regularly required to complete activities when engaging with information/resources, not just read or watch, even in theory components.;I confidently use a small variety of strategies for learning such as explanation, diagrams, demonstration, reading, listening, viewing, discussion, role plays and scenarios.;I outline clear learning objectives, linked to the knowledge and performance criteria in the unit of competency, for every session.;Learners in my classes can see clear links between the engaging tasks they are doing, the learning objectives for the session and the workplace.

 

I have spent four days trying to split this text into four adjacent columns, so that I can use VLOOKUP to replace them with specific scores which are then used to do calculations and create charts.

 

I can do this in multiple ways, but none automatically update when new responses are submitted.

 

I can't use TextSplit function in Excel as it doesn't work in 365 for Business - that would be the best/easiest solution if it auto updates!

I can't use the Text to Columns feature in Excel in a fully hands off automated process, and can't use macros (organisation won't allow)

 

I have used PowerQuery - perfect, but it needs to be refreshed before new data updates come in, and I can't seem to automate this process. I am working in a sharepoint folder, and don't have access to PowerAutomate Desktop which does the refresh easily.

I tried to add in an automatic refresh in the VBasic for the source sheet to refresh all - and found that is a macro.

 

I have used =TRANSPOSE(FILTERXML("<t><s>"&SUBSTITUTE(D3," ","</s><s>")&"</s></t>","//s")) in Excel - perfect, but as soon as you introduce tables (which I need to do, because after some lookups and calculations I need to transpose the columns and rows to Create a  Chart in Power BI) it stops working and I get spill errors.

 

I have used PowerAutomate combining Parse_JSON, split(outputs('Compose')';'[0] - which almost works, but returns too much for the first sentence (because there is no ';' at the start of the sentence, it returns ID, name, email address etc as well as the first sentence. It would be perfect if I could apply this split to just one cell or column but I can't find any way to do that without using transformations in Excel (then can't refresh) or Power Automate Desktop (which I don't have and I think won't work. Alternatively, if there is an easy way to add a ';' delimiter at the start of the cell using formulas in Excel that will automaticallu update when new data comes in to the table.

 

I am seriously running out of time and fear I'm going to have the same problems - sharepoint files, Excel without macros, Power Automate but NOT the Desktop version - when it comes to the rows to columns transformation to create the Radar Chart. Any suggestions or code would be gratefully received!!!

 

 

 

2 ACCEPTED SOLUTIONS

Accepted Solutions

I don't have a scenario for this, so I created a flow to figure this out since it is possible, I may encounter this. Although, I am still not 100% sure what you need to accomplish. But, what the following:

  • Will get all of the rows in a spreadsheet where it stores responses that are semicolon separated.
  • The spreadsheet has corresponding columns to store the individual responses from the combined response.
  • Once the responses have been split, it will evaluate the response and store it in the column corresponding to the response.
  • To do this, you will need to add a calculated column to the spreadsheet named Row with the expression =ROW()

In the end the workflow will result in the following in your spreadsheet. Note: I only completed the workflow for the first response in your sample data as a proof-of-concept.

David_MA_0-1673360574246.png

These are the actions in the workflow:

David_MA_1-1673360659609.png

The first compose action has the following expression (Response is the column with the combined responses in the spreadsheet):

split(items('Apply_to_each')?['Response'],';')
  •  Apply to each 2 has the output of the first Compose action.
  • Compose 2 contains the Current item from Apply to each 2
    David_MA_2-1673360845772.png

     

  • The switch uses the output of Compose 2
  • For the switch, you will add a case for each of your different responses and do the same thing under each with the Update a row action
  • This is how the Update a row action is configured:
    David_MA_3-1673360957410.png

I hope this helps and makes sense. Note, one problem I had initially was it wasn't finding a match in the switch. I went into the run flow and copied the value in the Compose 2 action back into the switch:

David_MA_4-1673361077167.png

Maybe I didn't initially enter the response correctly, but copying and pasting the value from the flow did the trick.

View solution in original post

GillianEd
Frequent Visitor

Thanks all for the input. 

 

I have now abandoned using Excel and am working entirely with Lists, Power Automate and Power BI. 

Have FINALLY solved the split and then get rid of unwanted initial and final punctuation

When the split() expression is used, it returns an array - basically in the form

["Section before the delimiter,

Next section,

Next section,

Final section"]

 

To get rid of those [" and "] the trick is to follow 4 steps.

 

  • 1. Split the initial_input into sections by

        Compose an expression    split'(outputs('body'],'","')  where you choose the body of text to split from          under create item in Dynamic content, and the character between the " " is the delimiter. which creates one more section than you have delimiters.

 

  • 2. Initialise a variable for each section - selects the first item in the delineated list and turns it into a string, then the second etc

Name Section1

Type String

Value outputs('Compose_Input_Section1')[0]

 

Name Section2

Type String

Value outputs('Compose_Input_Section2')[1]  etc  

(The number in the [] is one less than the expression you are working on. First expression [0], second [1] etc)

  • 3. Compose the output of that string Section1String
    • Input - from Dynamic content choose the variable initialised above {x}Section1

 

  • 4. Compose the final section without unwanted punctuation ( [" in first line in the array - Section1 and "] in the last - Section4 with ' '  ie nothing)
    • Compose an expression replace(outputs('Compose_Section1String'),'["','')
    • Compose an expression replace(outputs('Compose_Section4String'),'"]','')

The replace bit after the comma is in the form  ,  single quotes ' followed by whatever you want removed [" followed by single quotes' then another comma , and then single quotes 'what you want in its place - which could be other punctuation, a space, a different word and then single quotes again'   so the final '' is two single quotes with nothing between not double quotes.

 

 

 

 

View solution in original post

19 REPLIES 19
lbendlin
Multi Super User
Multi Super User

trying to split this text into four adjacent columns

Don't do that.  There is no guarantee that the order of the values will always be the same.

 

Instead, flip your data on its side.  Return rows of key/value pairs.  That way neither the number of responses nor their order matter.  This will also be easier for your eventual goal (the radar chart).

GillianEd
Frequent Visitor

Hi Ibendlin,

 

Thanks for your response. I don't really understand your response. I just looked up key/value pairs and I think I would need a database. 

 

I am just using Excel, PowerAutomate, Microsoft Lists and Power BI. At the moment, people will select 4 responses from 12 options for each question in a form. These come in as a spreadsheet, with the 4 responses together in a cell separated by ';' for every question. 

 

I am trying to split those responses, so I can use a VLOOKUP to allocate the appropriate score for their response. All possible responses are managed in a list which is used to generate a table and matching score either 1, 2 or 3 points. If I split the responses and use a VLOOKUP then the order doesn't matter and I return 4 scores for each question, that I can average and convert to a percentage to chart. Is it this part that I should be doing differently, and if so, where do I start? Or is the whole model bad?

 

I then transpose rows to columns to create a radar chart.

 

Cheers,

Gillian

Or is the whole model bad?

Don't want to discourage you but I can also not disagree with that 🙂 

 

Would you be able to provide sanitized sample data?

Sure - I'm not sure if this will work outside our environment but I'll try. So this all works in excel, but I'm trying to automate it, so the submission of the form response triggers the flows and ultimately sends an email back to the respondent with the chart and the relevant text (depending on their response scores for the various questions)

This is how it would look like in Power Query

 

let
    Source = Excel.Workbook(File.Contents("C:\Users\xxx\Downloads\Delivery Domain Snapshot example.xlsx"), null, true),
    FormResponses_Table = Source{[Item="FormResponses",Kind="Table"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(FormResponses_Table,{{"ID", Int64.Type}, {"Start time", type datetime}, {"Completion time", type datetime}, {"Email", type text}, {"Name", type text}, {"First Name", type text}, {"Work email", type text}, {"Select the four descriptions that best describe the ways you develop engagement with learning that reflects training product requirements at TasTAFE.", type text}, {"Select the three descriptions that best describe the ways you develop learners' digital skills and digital literacy at TasTAFE.", type text}, {"Select the four descriptions that best describe the ways you include all learners in your facilitation at TasTAFE.", type text}, {"Select the three descriptions that best describe how you collaborate with other TasTAFE staff to provide relevant learning experiences.", type text}, {"Select the four descriptions that best describe your use of explicit teaching strategies to address and support foundation skill development in learners.", type text}, {"Select the three descriptions that best describe how and when you contextualise learning to learners, the environment and industry requirements.", type text}}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Work email", "First Name", "Name", "Email", "Completion time", "Start time", "ID"}, "Attribute", "Value"),
    #"Replaced Value" = Table.ReplaceValue(#"Unpivoted Other Columns","Select the four descriptions that best describe the ","",Replacer.ReplaceText,{"Attribute"}),
    #"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","Select the three descriptions that best describe the ","",Replacer.ReplaceText,{"Attribute"}),
    #"Replaced Value2" = Table.ReplaceValue(#"Replaced Value1","Select the three descriptions that best describe ","",Replacer.ReplaceText,{"Attribute"}),
    #"Replaced Value3" = Table.ReplaceValue(#"Replaced Value2","Select the four descriptions that best describe ","",Replacer.ReplaceText,{"Attribute"}),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Replaced Value3", {{"Value", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Value"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Value", type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Changed Type1", each ([Value] <> ""))
in
    #"Filtered Rows"

 

including some prettying up/removing some of the text. The main transforms are the unpivoting and the splitting into rows.

 

You could do the same in Power Automate but it would be much more convoluted.  Consider switching to a Power BI based solution (or run the Power Query in Excel).

GillianEd
Frequent Visitor

Hi lbenlin, I so appreciate your help here. 

I have tried a few options, but just wanted to check - do I create the power query in the Form_Responses tab, on a new sheet, or in a new spreadsheet?

 

Cheers,

Gillian

GillianEd
Frequent Visitor

Spoiler
Thanks, I've realised I'm creating the query from the FormResponses Table!
I shall persist 🙂
GillianEd
Frequent Visitor

Ok, thanks - that worked and is a much cleaner to have the data. It still will need the Excel file opened, or the PowerQuery refreshed, as each new response is submitted, though, and I can't seem to do that automatically without PowerAutomate Desktop (currently using the Web version). Any ideas??

 

In the meantime, from here, given there are 700+ respondents, would it be best to do the lookup scores in Excel and dump those into a Microsoft List, and then use Power Automate and PowerBI to generate the chart and combine the chart and appropriate text in a document and email back to respondents?

 

Many thanks,

Gillian

Disclaimer:  I am biased.

 

I would do everything in Power BI.  Connect Power BI directly to Forms, do the Power Query transforms in Power BI, load the data directly into the radar chart. Give the respondents access to anonymized cuts of the data.

 

It's your business process so you can decide how high or low your pain threshold is.  The purpose of automation is to make your life easier, not harder. So whatever works for you, and makes your life easier, will be a good solution.

srduval
Super User
Super User

I agree with @lbendlin reading through this thread, you are forcing yourself into a corner by trying to automate excel, it just won't ever work the way you want. If you have power BI available I would 100% run the refreshes in there and then you can automate the export of the power BI report to excel if you must have an excel sheet at some point. 

I must be missing something based on the thread, but why can you not use the split command in a compose action to split your values on the semicolon? I created a manually triggered flow with your sample content and it works.

David_MA_0-1673288932357.png

The expression in the Compose action is the following. You just need to replace triggerBody()['text'] with the data from the cell in your spreadsheet.

split(triggerBody()['text'],';')

 This found the four entries in your sample:

David_MA_1-1673289043065.png

 

Hi David,

This sounds really easy, but I can't seem to specify the cell with the text in it. I only seem to be able to get a row. What code do I use to get the content of a specific cell?

Cheers,

Gillian

Hi lbenlin,

 

The problem is, I am not an IT person at all. So, I set up the process in Excel, as a model, because I could work that out, and that's where the form data arrived. Then I was told we couldn't use macros in the organisation.

So, then I tried to use Power Automate to replace the macros - I was going to use it to trigger everything when the form was submitted and to send out the results - hoping I could make everything happen seamlessly. Then I found out I can only use Power Automate, not Power Automate Desktop - which limited my options - particularly the refreshes. I didn't know PowerBI can automate processes - I was just using it (with difficulty) to try to replicate the radar chart produced so easily in Excel. Still challenged with that part - I don't know how to add a variable (name) and (date) to a label or title in the chart that is separate to the axis labels!

I have been on such a steep learning curve for the last four weeks.

If Power BI will do the splits, lookups, averaging, charting and send out the reports easly, then I'll give that a go. Thanks!!

 

Thanks, Srduval. 

I do have power BI! But I have only used it to work with data in Excel sheets. So how do I get the data coming in on the Microsoft forms to trigger power BI and where will that data be, if not in Excel?

Cheers,

Gillian

My earlier comments might clarify my issue a bit more - 'I have used PowerAutomate combining Parse_JSON, split(outputs('Compose')';'[0] - which almost works, but returns too much for the first sentence (because there is no ';' at the start of the sentence, it returns ID, name, email address etc as well as the first sentence. It would be perfect if I could apply this split to just one cell or column but I can't find any way to do that without using transformations in Excel (then can't refresh) or Power Automate Desktop (which I don't have and I think won't work. Alternatively, if there is an easy way to add a ';' delimiter at the start of the cell using formulas in Excel that will automatically update when new data comes in to the table.'

Ok, have just had a closer look at PowerBI, and am going to have a go to replicate my processes there. Any tips/suggestions for the most effective/efficient way to do this would be appreciated. Also, in terms of managing/storing the scores, charts and emailed documents - should I add them to staff member Lists or can you suggest something better? I would like to be able to chart and compare annual versions of the same survey for each staff member.

You can keep your Excel files as data storage. Place them on a sharepoint/OneDrive so Power BI won't need a gateway. Use the query that I posted to convert the data from Excel into a usable format.

 

Find out what your users are most comfortable with/what is most efficient.  You may not need to send emails, for example, if they are comfortable with running Power BI reports themselves.

I don't have a scenario for this, so I created a flow to figure this out since it is possible, I may encounter this. Although, I am still not 100% sure what you need to accomplish. But, what the following:

  • Will get all of the rows in a spreadsheet where it stores responses that are semicolon separated.
  • The spreadsheet has corresponding columns to store the individual responses from the combined response.
  • Once the responses have been split, it will evaluate the response and store it in the column corresponding to the response.
  • To do this, you will need to add a calculated column to the spreadsheet named Row with the expression =ROW()

In the end the workflow will result in the following in your spreadsheet. Note: I only completed the workflow for the first response in your sample data as a proof-of-concept.

David_MA_0-1673360574246.png

These are the actions in the workflow:

David_MA_1-1673360659609.png

The first compose action has the following expression (Response is the column with the combined responses in the spreadsheet):

split(items('Apply_to_each')?['Response'],';')
  •  Apply to each 2 has the output of the first Compose action.
  • Compose 2 contains the Current item from Apply to each 2
    David_MA_2-1673360845772.png

     

  • The switch uses the output of Compose 2
  • For the switch, you will add a case for each of your different responses and do the same thing under each with the Update a row action
  • This is how the Update a row action is configured:
    David_MA_3-1673360957410.png

I hope this helps and makes sense. Note, one problem I had initially was it wasn't finding a match in the switch. I went into the run flow and copied the value in the Compose 2 action back into the switch:

David_MA_4-1673361077167.png

Maybe I didn't initially enter the response correctly, but copying and pasting the value from the flow did the trick.

GillianEd
Frequent Visitor

Thanks all for the input. 

 

I have now abandoned using Excel and am working entirely with Lists, Power Automate and Power BI. 

Have FINALLY solved the split and then get rid of unwanted initial and final punctuation

When the split() expression is used, it returns an array - basically in the form

["Section before the delimiter,

Next section,

Next section,

Final section"]

 

To get rid of those [" and "] the trick is to follow 4 steps.

 

  • 1. Split the initial_input into sections by

        Compose an expression    split'(outputs('body'],'","')  where you choose the body of text to split from          under create item in Dynamic content, and the character between the " " is the delimiter. which creates one more section than you have delimiters.

 

  • 2. Initialise a variable for each section - selects the first item in the delineated list and turns it into a string, then the second etc

Name Section1

Type String

Value outputs('Compose_Input_Section1')[0]

 

Name Section2

Type String

Value outputs('Compose_Input_Section2')[1]  etc  

(The number in the [] is one less than the expression you are working on. First expression [0], second [1] etc)

  • 3. Compose the output of that string Section1String
    • Input - from Dynamic content choose the variable initialised above {x}Section1

 

  • 4. Compose the final section without unwanted punctuation ( [" in first line in the array - Section1 and "] in the last - Section4 with ' '  ie nothing)
    • Compose an expression replace(outputs('Compose_Section1String'),'["','')
    • Compose an expression replace(outputs('Compose_Section4String'),'"]','')

The replace bit after the comma is in the form  ,  single quotes ' followed by whatever you want removed [" followed by single quotes' then another comma , and then single quotes 'what you want in its place - which could be other punctuation, a space, a different word and then single quotes again'   so the final '' is two single quotes with nothing between not double quotes.

 

 

 

 

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (1,332)