Email body column error

Hi,

I'm facing email body types error see below image. Table name and column name is correct but showing error . How can I fix this issue. 

Screenshot_20240216-215332.png

Solved Solved
0 26 321
2 ACCEPTED SOLUTIONS

Ok. In your email task under the table set it back to the table you originally had this set to "Email Report Process (slice)". If you get the error again that the event and process are not compatible then I suggest recreate the bot from scratch but do not yet set any variables in your email body. Something important to understand though, a scheduled event without the "ForEachRowInTable" does not pass any data to your process. Therefore, even if you choose a table in your email task it will not give you access to any of the columns in that table when using <<[Column]>> in your email body. This is a limitation within Appsheet associated with the scheduled event. Then if you can, in as much detail as possible explain what needs to be contained in your email body. Keep in mind that likely we will need to use FILTER()/SELECT() to possibly filter your data first (unless it already is filtered in the slice) and then you will still probably need to use ANY()/SUM() to summarize the data, which is what I think you are trying to accomplish.

View solution in original post

Ok but I'm not using filter slice rows data. Whithout expression slice I'm using. 

View solution in original post

26 REPLIES 26

Is [Booking Reports] a REF type column by chance? Most commonly this type of error occurs if there is a mismatch between the table that triggers this process vs columns in the email body. Can't tell this information from your screenshot though. I can only suspect that it is a table mismatch and the table triggering this email does not have this column name in it.

Hi @Markus_Malessa 

I have given some images below. I don't know why the error is showing here. Please let me know how I can fix it.I have created three virtual columns. In which error is showing here.

 

Does this email get sent per each row in the slice? If so, then in your 'Sending' event you need to check the ForEachRowInTable setting. Otherwise, you can't use a singular row value with <<[ColumnName]>> in your email body because it tries to fetch that value on a singular row basis whereas your bot is defined taking all rows from that slice. I hope that makes sense. So as it is currently defined you can use <<SliceName[ColumnName]>> in this process but your email body would contain a list of those column values.


@Markus_Malessa wrote:

ForEachRowInTable


 

By ticking this option, bulk emails start being received. I want single email. 

What should the single email contain? From the screenshots you have posted so far your event is configured as daily on "Email Report Process (slice)". Does this slice only return a single row? If that is the case then in your email text try <<ANY(Email Report Process[Booking Reports])>>. If the slice is made up of multiple rows then maybe try <<SUM(Email Report Process[Booking Reports])>>. Are you trying to send a 'user' their summary of bookings grouped by that user?

Hi @Markus_Malessa 

showing error


@Markus_Malessa wrote:
The event and process of the 'Report Summery' Bot are not compatible. The output of event 'Sending email' and the input of the process 'Process for Report Summery' must be the same table or 'None' in the case of a chat event or scheduled event that is not 'For Each Row'. No "Call Process for each row" step is allowed in the process when using scheduled event
Bot Test Is Working when i use this below expression in the email body .
 
 

 

Pending For Booking: <<SUM(
  SELECT(
    Email Report Process[QUANTITY],
    ISBLANK([PUTAWAY NO])
  )
)>>
Booked In System: <<SUM(
  SELECT(
    Email Report Process[QUANTITY],
    AND(
      DATE([PUTAWAY UPDATE TIME]) = TODAY(),
      ISNOTBLANK([PUTAWAY UPDATE TIME])
    )
  )
)>>
PhotoVideoReport: <<SUM(
  SELECT(
    PHOTOS[PAIR QTY],
    AND(
      DATE([DATE]) = TODAY(),
      ISNOTBLANK([DATE])
    )
  )
)>>

 

How can i received a single email. please help me.

Did you uncheck the 'ForEachRow' again? Does <<SUM(Email Report Process[Booking Reports])>> not work? It seems like your slice doesn't have a filter. Sending a single email should work as long as you don't check 'ForEachRow' in the Event settings. The reason why <<[Booking Reports]>> in your email body doesn't work is because your event is configured at the entire table level and you are attempting to use a singular row column value in the email body. That is why your original error occurs. So, make sure 'ForEachRow' is unchecked and then try this:

Pending For Booking: <<SUM(SELECT(Email Report Process[Pending Reports], TRUE)))>>
Booked In System: <<SUM(SELECT(Email Report Process[Booking Reports], TRUE)))>>
PhotoVideoReport: <<SUM(SELECT(Email Report Process[PhotoVideoReport], TRUE)))>>

Hi @Markus_Malessa 

 

When I turn on the 'eachrowtable' option, emails start coming in bulk. And when I try to turn off the 'eachrowtable' option, an error is shown. The expression you provided is also sending bulk emails.

It is sending bulk emails with the 'eachrowintable' off?

Error is showing on turning off ForEachRowInTable. 

Now that you turned 'ForEachRowInTable' off, can you post a screenshot of the error and how your email body template is configured?

Ok see

 

Under your 'Process' for the email from the TableName setting you need to select "NO Table". That will fix the current error.

Then you save it with 'No Table' selected. Then if you want a table name other than 'No Table' in that email process you can repeat your steps again and select a different table name and save. However, a scheduled bot will always fall under the 'Other' category vs under a 'Table' name for Bots, unless you check 'ForEachRow'.

Markus_Malessa_0-1708451348798.png

Now subsequent steps in the process under a bot configured on a schedule might provide the illusion that a Table Name can be configured, however as your original error showed, this process fails when trying to use a specific column value in your template like <<[Column Name]>>. So as I was explaining you can use a formula such as <<SUM()>> or <<ANY()>> in your template or furthermore you can also use <<Start: >><<End>>.

When I select no table showing error message 

Hey trying to work with you in figuring this out. Appreciate your patience and I know this can be frustrating. Just to make sure, which error is it showing and is your event with 'ForEachRowInTable' checked or unchecked?

Unchecked "ForEachRowInTable"

Ok. In your email task under the table set it back to the table you originally had this set to "Email Report Process (slice)". If you get the error again that the event and process are not compatible then I suggest recreate the bot from scratch but do not yet set any variables in your email body. Something important to understand though, a scheduled event without the "ForEachRowInTable" does not pass any data to your process. Therefore, even if you choose a table in your email task it will not give you access to any of the columns in that table when using <<[Column]>> in your email body. This is a limitation within Appsheet associated with the scheduled event. Then if you can, in as much detail as possible explain what needs to be contained in your email body. Keep in mind that likely we will need to use FILTER()/SELECT() to possibly filter your data first (unless it already is filtered in the slice) and then you will still probably need to use ANY()/SUM() to summarize the data, which is what I think you are trying to accomplish.

Ok but I'm not using filter slice rows data. Whithout expression slice I'm using. 

Hi @Markus_Malessa 

I have deleted the old bot and created a new one. Unchecked "ForEachRowInTable" The new bot is functioning without requiring the column name to be filled in the email body. However, when I do enter the column name in the email body, an error seems to occur.

Screenshot_20240221-222759.png

Just for your information, no expressions have been used in the slice table, and I haven't employed any expressions in the bot condition. I've created three virtual columns, all of which are of number type. I aim to receive the daily value in one of the columns through email.

These expressions have been utilized in all three virtual columns.

Master table name:- Scan Sheet

1. SUM(
SELECT(
Email Report Process[QUANTITY],
ISBLANK([PUTAWAY NO])
)
)

2. SUM(
SELECT(
Email Report Process[QUANTITY],
AND(
DATE([PUTAWAY UPDATE TIME]) = TODAY(),
ISNOTBLANK([PUTAWAY UPDATE TIME])
)
)
)

3. SUM(
SELECT(
PHOTOS[PAIR QTY],
AND(
DATE([DATE]) = TODAY(),
ISNOTBLANK([DATE])
)
)
)

Ok, so you are saying that the three virtual columns are contained in a table called 'Scan Sheet'? How many rows of data are contained within this table? And what information do you need in your email body?

Hi @AleksiAlkio 

I need help please 

This suggestion not helpful. I want single email not bulk email. Please help

So, this is OK:

Markus_Malessa_0-1708452516434.png

But using a <<[Column]>> in the context of an email template does not function, unless it is contained within a ANY/SUM function or within a <<Start:>><<End>> context. Unfortunately that is a limitation of the platform. So within your scheduled event under the email step it is taking all rows of that table and that is why <<[Column]>> in the template breaks because it is not available within the context of the event.

I apologize that I have not been able to find the official documentation on this limitation when using scheduled events or chat bots, but here is a discussion that seems to address the same underlying issues you are facing. https://www.googlecloudcommunity.com/gc/AppSheet-Q-A/Event-and-Process-Not-Compatible/m-p/376410/hig...

It seems that @Dan_Bahir had some knowledge about the intention of this and I'm hoping that @WillowMobileSys might have something additional to say as well.


@Sirfyaad wrote:

Email Report Process


 

Now is working fine Thank you for your support @Markus_Malessa 

When I replaced the slice name with the table name, the bot started working. 

Top Labels in this Space