cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
livingstonep
Kudo Kingpin
Kudo Kingpin

MS Flow expression - how to concatenate New Line into string variable

I am building a flow, and need to append values into a string variable for an audit trail

 

so I have this:

 

concat(string(utcNow()), ': ', 'Approved by Data Protection', Char(13))

but I get an error when trying to save the expression ...

 

in the list following the update (using the variable) it looks like this:

 

2019-05-21T08:28:43.2692428Z: Approved by Health & Safety2019-05-21T08:30:02.4883027Z: Approved by Data Protection

when it should look like this:

2019-05-21T08:28:43.2692428Z: Approved by Health & Safety
2019-05-21T08:30:02.4883027Z: Approved by Data Protection

what am I doing wrong, and how can I include a new line/line feed into the variable

 

2 ACCEPTED SOLUTIONS

Accepted Solutions
v-bacao-msft
Community Support
Community Support

Hi @livingstonep ,

 

You can add a carriage return directly to the Value of Append to string variable action.

34.PNG2.PNG

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

@ericonline @sarahmcd9000 @v-bacao-msft 

try this in Notepad or whatever your favourite text editor is:

 

Concat(variables("VarName"), '
" this is a new line in the target object", '
" this is a new line in the target object")

Paste the above into your target object using Expression:

 

NewLine in Flow put in expression.PNG

 

 

this works for list columns in an Update, in Compose operations, and in variables

here is an example:

 

NewLine in Flow Variable.PNG

 

and the concatenated New Line in the list:

 

NewLine in Flow Variable showing in List.PNG

 

hope this helps - if it does, please mark it as solution

View solution in original post

12 REPLIES 12
v-bacao-msft
Community Support
Community Support

Hi @livingstonep ,

 

You can add a carriage return directly to the Value of Append to string variable action.

34.PNG2.PNG

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Is this still a viable solution? I can't seem to get it to work. 

What I have

concat(utcNow(),':',items('Apply_to_each_2'),'HTTP request failed.')

image.png

What I get:

2019-09-30T06:52:14.1109671Z:testHTTP request failed.{"error": {"code": 502,"source": "flow-apim-msmanaged-na-northcentralus-01.azure-apim.net","clientRequestId": "f8a32b88-1b63-4317-ba04-2ba5a2c21599","message": "BadGateway","innerError": {"status": 502,"message": "The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator.\r\nclientRequestId: f8a32b88-1b63-4317-ba04-2ba5a2c21599\r\nserviceRequestId: db31099f-80c2-9000-0496-715c4af5a497","source":"https://mycompany.sharepoint.com/sites/test/_api/web/lists/GetByTitle('test')/items?$select=Title&$filter=Modified%20ge%20'September%2020,%202019'","errors": ["-2147024860","Microsoft.SharePoint.SPQueryThrottledException"]}}}

What I want:

2019-09-30T06:52:14.1109671Z:testHTTP request failed.

{
    "error": {
        "code": 502,
        "source": "flow-apim-msmanaged-na-northcentralus-01.azure-apim.net",
        "clientRequestId": "f8a32b88-1b63-4317-ba04-2ba5a2c21599",
        "message": "BadGateway",
        "innerError": {
            "status": 502,
            "message": "The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator.\r\nclientRequestId: f8a32b88-1b63-4317-ba04-2ba5a2c21599\r\nserviceRequestId: db31099f-80c2-9000-0496-715c4af5a497",
            "source": "https://mycompany.sharepoint.com/sites/test/_api/web/lists/GetByTitle('test')/items?$select=Title&$filter=Modified%20ge%20'September%2020,%202019'",
            "errors": [
                "-2147024860",
                "Microsoft.SharePoint.SPQueryThrottledException"
            ]
        }
    }
}

How can I:

  1. Get the new line after the timestamp?
  2. Prettify the body to be indented JSON?

Thank you!

Adding a space with enter is also no longer working for me

Me neither. 
I've tried:

1. Variable with single quote, ENTER, single quote

'
'

2. Variable with ENTER only, no quotes

3. ENTER between two dynamic values

None of these create a new line when using Append to String Variable.

@ericonline @sarahmcd9000 @v-bacao-msft 

try this in Notepad or whatever your favourite text editor is:

 

Concat(variables("VarName"), '
" this is a new line in the target object", '
" this is a new line in the target object")

Paste the above into your target object using Expression:

 

NewLine in Flow put in expression.PNG

 

 

this works for list columns in an Update, in Compose operations, and in variables

here is an example:

 

NewLine in Flow Variable.PNG

 

and the concatenated New Line in the list:

 

NewLine in Flow Variable showing in List.PNG

 

hope this helps - if it does, please mark it as solution

etalon
Frequent Visitor

This is an FYI for future me:  If your output is being viewed in HTML (ie a field for an email), just add <br> to the string that is being appended to create the line break.

manvinder277
Frequent Visitor

use concat and {" \n\n"} ... yes with double quotes

example >>> concat('string 1',{" \n\n"},'String 2')

 

This will output

string1

string2

@manvinder277   Does this still work for you?  When I try to use that concat expression, PAutomate flags the expression as invalid.

 

DeeTronSEAM_0-1616617929601.png

 

So far all I've found that works is to declare a variable and stick a linefeed in it, then use that variable where I want a linefeed.  E.g.

 

DeeTronSEAM_0-1616618612724.png

concat(
  body('Parse_JSON_of_the_filtered_Scenario_2_collection')?['ScenarioID']
  , '|'
  , body('Parse_JSON_of_the_filtered_Scenario_2_collection')?['AD_DisplayName']
  , '|'
  , body('Parse_JSON_of_the_filtered_Scenario_2_collection')?['AD_UserPrincipalName']
  , '|'
  , body('Parse_JSON_of_the_filtered_Scenario_2_collection')?['AD_Title']
  , variables('strLineFeedCharacter')
)

 

not working for me. Creating variable with space/enter and adding it into concat function.

then sending that concat variable into mail. 

Mail doesn't get new line. I tried all way. Don't know why its nt working. at run flow I am getting new line but in a  outlook mail box  , new line is not coming. Please help. trying since last 2 days.

 


I have initialized variable 'MailBody' where I have  If condition in Concat statement in it.

ex:

concat('I approve the below request:','
',if(equals(triggerOutputs()?['body/TYPE'],'ADP'),concat('Name : ',triggerOutputs()?['body/NAME'],'
','KBC : ',triggerOutputs()?['body/KBC'],'
','PQR : ',triggerOutputs()?['body/PQR']),concat('Name : ',triggerOutputs()?['body/NAME'],'
','XYZ : ',triggerOutputs()?['body/XYZ'],'
','ABC : ',triggerOutputs()?['body/ABC'],'
','EFG : ',triggerOutputs()?['body/EFG'])))

 

then I have added variable to the sent mail activity where I have link to create another mail then above mail body executes, I have tried all way(adding<br>, created variable with enter and added, <\n> line) to add new line but its not working. I am getting all the values in single line.

ex: Name:ValueXYZ:ValueABC:ValueEFG:Value

Expected: 

Name:Value

XYZ:Value

ABC:Value

EFG:Value

 

DeeTronSEAM
Kudo Collector
Kudo Collector

Hola, @nejhade 

 

Sorry to hear you're having problems with this.  I do know things change rapidly with PAuto and PApps, so it's quite possible that what worked before is something that doesn't anymore.  But, let me try to provide some ideas that might help you zero in on the fix:

 

I have many flows that send HTML emails using the Outlook "Send an email from a shared mailbox" action.  They do have line feeds galore in them...though they are HTML <br\> and <p></p> tags....and they properly create linebreaks in our users' Outlook email reader.   So, are you injecting your email body into the default body editor or the html editor in your Outlook email action?  E.g. ..

 

default:

DeeTronSEAM_3-1651546580601.png

 

 

versus what's there when you click on the editHTML button (aka <\>) all the way to the right:

DeeTronSEAM_2-1651546460919.png

 

As I'm not sure what action you're using for the email-Send, this may not be valid.  But I will say that if you're using the Outlook email sending actions, I strongly urge you to create your email body variable as HTML and ensure it contains proper HTML formatting.  That seems to work fine for me.....although there are many quirks about how Outlook renders HTML emails...something that many email marketing experts have posted many blog posts documenting, bitching, moaning, and sometimes circumventing.

 

Hope that helps.  Good luck.

 

As for creating a linebreak character, they way I do it now is different than the way I described above with a space and enter/return in a variable.  Now I use a formula that decodes the carriageReturn+lineBreak character codes (URI-encoded) :

DeeTronSEAM_0-1651545899313.png

 

value formula:  

decodeUriComponent('%0D%0A')
 
aka ASCII(13)+ASCII(10), aka CHAR(13)+CHAR(10), aka CrLf.
 
 

Thanks for the reply @DeeTronSEAM 

I am using HTML body only, it seems it works for primary mail sent, but not working for mail gets created on link create. refer below image.

I composed an action and concate it to my string(also used decodeUriComponent('%0D%0A')) , Problem is I am getting output in a flow as new line. but when email renders with a link it doesn't show new line in mail.

Please refer below image, I have a variable. 'RequestBody' which I am using in a mail template. As you see when user click on "Please click here to approve the request" then new email opens and that Requested body will be part of new mail. 

where I am not getting new line. I renders information in single line.

Image 1: Flow output after Run-getting new line in a flow run. but not in mail, when new mail creates from link. 

nejhade_1-1651642933496.png

 

Image 2: email body template. first mail works fine <br> working but when user click on a link to create a new mail which has 'requestbody' variable there new line, <br>, variable, nothing is working.

nejhade_0-1651642744575.png

Mail Output

nejhade_2-1651643127461.png

 

Any Idea on this. Many Thanks in Advance!

 

 

Hello ,

Posting solution here If someone need it in future. it worked for me.

Big Thanks to  @v-bofeng-msft For this solution.

 

If you want to wrap lines in the body of mailto, just add "%0d%0a" between lines.For example:

 

    concat('Name : ','Value','%0d%0a','KBC : ','Value','%0d%0a','PQR : ','Value') 

 

Regards,

Neha

Helpful resources

Announcements
Register for a Free Workshop.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

September Events 2022

Check out all of these events

Attend in person or online, there are incredible conferences and events happening all throughout the month of September.

Users online (1,764)