Notify doesn't work anymore when passed a list of people

When running formula Notify(Todos.Filter(Done = false).Who.Unique(), "One hour until meeting. Review Todos and add issues ❤️")

I get the error message:

Notify expects parameter people to be a row, a list of rows, or a column, but found value ('Preston, Hunter, Connor, Maureen '), which is a list of people

Why wouldn’t notify work on a list of people? This used to work.

1 Like

Is there any update? I’m having the same problem.

Hi @M_Schneider
and welcome to Coda Community! :handshake:

Could you please share your doc or at least the formulas you are using to extract the people?

Thank you!

I had it working recently so I don’t think it’s a recent regression or something.

One thing to carefully check on: whether any of the list items are not Blank by chance. If there’s a Blank between those values, the formula will fail. It’s best to pre-filter e.g. by CurrentValue.IsNotBlank(), and not call Notify at all if the list is empty (use the If(List.IsNotBlank(), List.Notify(...), _Noop()) conditional formula)

3 Likes

Hey Federico,

thank you very much! :blush: Pauls hint already worked fine, but neither the error messages nor other threads for this problem lead to a similar clue, so hopefully this will also help others in the future.

1 Like

Hey Paul,

thank you so much for your quick reply, clearing out the blank values did the trick. Finally I can apply all the collection magic to my people columns! :heart_eyes:

2 Likes

Hi @Paul_Danyliuk I’m having the same problem with a Notify formula that used to work, but is now giving this error message: "coda notify expects parameter to be a row, list of rows, or a column, but found CurrentValue, which can match a current value, or a text value" :cry:

I tried to add your recommended fix above but am still getting the same error, so not sure I did it quite right?

This is the part of my original formula which is throwing the error:

RunActions([Company Request List].Filter([Project Name]=thisRow and Select=true AND [Contact Request Sent]=false and [Sales Owners Email].IsNotBlank()).[Sales Owner].Unique().FormulaMap(Notify(CurrentValue, Concatenate("Hi ", CurrentValue.Name.Split(" ").First(),", ",thisRow.Requestor," has requested to contact your customers for the project \"", thisRow.[Project Name], "\".", " Please follow this link to review: ", "https://coda.io/d/Research-Recruitment-Sales-Contact-Requests_dPIVcb_2VGa/Your-Contact-Requests-to-Review_subwF#_lu82m"))),

and this is how I tried to fix it using your suggestion above:

RunActions([Company Request List].Filter([Project Name]=thisRow and Select=true AND [Contact Request Sent]=false and [Sales Owners Email].IsNotBlank()).[Sales Owner].Unique().FormulaMap(Notify(CurrentValue, Concatenate("Hi ", CurrentValue.Name.Split(" ").First(),", ",thisRow.Requestor," has requested to contact your customers for the project \"", thisRow.[Project Name], "\".", " Please follow this link to review: ", "https://coda.io/d/Research-Recruitment-Sales-Contact-Requests_dPIVcb_2VGa/Your-Contact-Requests-to-Review_subwF#_lu82m"))),

would very much appreciate any suggestions you’re able to give as to how I might be able to get this working again!

Thanks in advance,
Elley

The two are the same but here’s two possible culprits:

  1. Some of the Sales Owner values are blank, so that there’s a Blank value within your Unique() list. After the Unique() add .Filter(CurrentValue.IsNotBlank()).

  2. Sales Owner could be configured as a multi-select lookup, meaning you’re getting a list of lists from your Filter(). If that’s the case, add .ListCombine() before .Unique().

  3. Sales Owner is not a People column. You have to supply a Person record or a List of People to the Notify formula, not e.g. a row from some table that you named People. See if CurrentValue has a person icon next to it.

  4. Lastly, if everything’s correct it’s also possible that Coda just did a hiccup on this one. Then I don’t have any other ideas than to rewrite the formula and retrieve those unique people some other way.

2 Likes

Thanks Paul,

oops copy paste error there, the 2nd one should have read:

RunActions([Company Request List].Filter([Project Name]=thisRow and Select=true AND [Contact Request Sent]=false and [Sales Owners Email].IsNotBlank()).[Sales Owner].Unique().FormulaMap(If(CurrentValue.IsNotBlank(), Notify(CurrentValue, Concatenate("Hi ", CurrentValue.Name.Split(" ").First(),", ",thisRow.Requestor," has requested to contact your customers for the project \"", thisRow.[Project Name], "\".", " Please follow this link to review: ", "https://coda.io/d/Research-Recruitment-Sales-Contact-Requests_dPIVcb_2VGa/Your-Contact-Requests-to-Review_subwF#_lu82m")),_Noop())),

I did some more digging and it seems like there were some values of Sales Owner that were not matching up to people objects, whilst the code above didn’t fix them, manually adding in all the missing people seems to have now got it working again.

I’m not quite sure why coda isn’t able to find the correct matches itself automatically though when new people are added?