Start Expression Help - Email Table Formatting

Hello AppSheet Community!

I'm having some trouble with starting a START expression for an email template.

I have a table called Projects and I need to import some information onto it. I have a column named "Role Type" and this is an EnumList with 10+ options [Consultant, Sr. Consultant, Architect, Project Manager, etc.]

If a role is chosen - I also ask for the number of hours (Consultant Hours) and rate (Consultant) for each of the row.

I'd like to create an email with a dynamic table in which only the roles selected will be shown on the table - I don't want records with no input to be shown. 

Any suggestions on how to start this? I've read up on the Start Expressions page and I just cannot wrap my head around it.

Thanks!

Example:

For a Project record - if I choose Consultant and Project Manager, I'd like this table to be outputted via email and would not need the other roles that were not selected on the email:

 

RoleHoursRate
Consultant20$100
Project Manager30$200

 

Solved Solved
0 4 96
1 ACCEPTED SOLUTION

Hi @djnguyen ,

✔ To set this up, you can use a START expression in your email template like this:

<<START: SELECT(Projects[Related Roles], AND([Project ID] = [_THISROW].[Project ID], ISNOTBLANK([Hours]), ISNOTBLANK([Rate])))>>
Role: <<[Role Type]>>
Hours: <<[Hours]>>
Rate: <<[Rate]>>
<<END>>

✔ Key points:
— Use SELECT() to pull only related role records for the project.
— Add ISNOTBLANK([Hours]) or ISNOTBLANK([Rate]) in the filter so empty roles are excluded.
— Inside START, you loop over just the matching rows.

If your EnumList is stored inside a single record (not as child rows), you may need to restructure it or use a bit more advanced template logic.

View solution in original post

4 REPLIES 4

Where are you storing Hours and Rate? Not in the Projects table, I assume.

And on what event are you triggering the email bot?

Hours and rates are in the Projects Table as well. The email bot triggers when a new record is created.

In this example - the roles selected (via my EnumList) are Senior Consutlant, Senior Architect, Senior Project Manager, Program Manager and I'd only want those rows shown on the email. Don't really need the other table rows since it's not relevant.

Screenshot 2025-05-08 at 1.07.05 PM.png

If you select multiple roles in an ENUMLIST in a row in the PROJECTS, how are you storing multiple values of hours and rates in the same row? You cannot match the roles and hours and rates in three ENUMLIST fields.

Hi @djnguyen ,

✔ To set this up, you can use a START expression in your email template like this:

<<START: SELECT(Projects[Related Roles], AND([Project ID] = [_THISROW].[Project ID], ISNOTBLANK([Hours]), ISNOTBLANK([Rate])))>>
Role: <<[Role Type]>>
Hours: <<[Hours]>>
Rate: <<[Rate]>>
<<END>>

✔ Key points:
— Use SELECT() to pull only related role records for the project.
— Add ISNOTBLANK([Hours]) or ISNOTBLANK([Rate]) in the filter so empty roles are excluded.
— Inside START, you loop over just the matching rows.

If your EnumList is stored inside a single record (not as child rows), you may need to restructure it or use a bit more advanced template logic.

Top Labels in this Space