Gmail Pack: Send current table row only

Hi there,
I have a “send” button on each row of my table, which uses the Gmail pack. It works as expected to send the whole table using this formula for the content:
[The Current Nolte Team]

However, I want the button to only send the current row. Something like this (but this does not work):
[The Current Nolte Team].Filter(thisRow)

How can I achieve this?

Hey Adam, two questions from me:

  • How are you pushing the buttons in the table? By another button outside the table? Automation?
  • How are you choosing to filter to the given row?

Hi @Adam_Fenton,
surely an example would help.

However, have you tried by simply putting thisRow?

Yes, the idea is to use an automation rule to push the buttons.
The filter should filter to the current row (ie the row that button is on).

If you just put thisRow as the formula, the email only contains the display column which is linked to the row. I need it to send the whole row.

Hi @Adam_Fenton,

if the problem is to send the whole row information, you might add a new column - like RowContent - that contains all the information you need to send through Concatenate() or Format() formulas; e.g.
Format("{1} - {2} and {3}", [Column 1], [Column 2], [Column 3])
then you will put thisRow.RowContent as message content.

Thanks for the suggestion @Federico_Stefanato. However, my table has over 50 columns with more to be added. It will be difficult to maintain something like this. Is there a way to automatically get a list of all columns in a table?

Hi @Adam_Fenton,
I understand; unfortunately it’s not possible to programmatically have the columns metadata (number, names and content).

As an alternative (I don’t know if it’s viable for you or not) you can provide a summary of the most relevant columns and then link the content to the actual row id in Coda.

1 Like

Unfortunately not because the doc is private. The idea is that the individuals can only see the row with their data and no-one else’s.

Is there another way to achieve this?

Hi @Adam_Fenton,
You might want create a view with the data filtered where “RowOwner” is equal to the current User().

This way everyone would only see their rows.

A specific implementation should be taken into consideration upon your concrete scenario.
Anyway, let me know if this makes sense to you.

1 Like

Yes, I could do this. But the view has to be in the same doc doesn’t it? If so, what’s stopping the person from just looking at the full set of data?

Hi @Adam_Fenton,
there are different strategies you can put in place, depending also in which plan you are running Coda, how complex is the current solution and the overall interactivity with data of the users.

My suggestion would be that you put the full dataset in a hidden page.
Then, you publish the doc with the User-filtered view only.

The example has different goal, but it should give the idea of the underlying implementation:

.

Please, let me know if you need to go further on this.

Dear @Adam_Fenton,

Of course the sample of @Federico_Stefanato is perfectly fine!
Additional the idea is well explained by @maria in this video (starting right on the particular explanation)

Thanks all for your input. But Unfortunately I don’t think this will work for us, because it will still be possible for a user to see the full table. We need this so they can ONLY see their own row and not the rows of others (as they contain private data). It seems this isn’t possible with Coda :frowning:

Dear @Adam_Fenton,

I don’t want to influence your decision, but when you filter by current user (as explained in the material I shared), the current user will only be able to see his/her content.

If you could test this for yourself in a sample doc by login in from an incognito tab in your browser as being a different user.

1 Like