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:
Role | Hours | Rate |
Consultant | 20 | $100 |
Project Manager | 30 | $200 |
Solved! Go to 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.
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.
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.
User | Count |
---|---|
18 | |
10 | |
8 | |
6 | |
5 |