We have had to implement quite a complex workaround solution to be able to send personalised emails based on fields from a custom table which is a 1:N with Contact. E.g. Contact 1:N Applications
Imagine a contact has 5 applications (custom table), ideally we want to use segmentation to identify specific criteria around one of those applications and then include personalisation from that specific application, currently we can't easily achieve this. We can build a segment including applications to identify the contact but we lose the context of the specific application within the email designer. ForEach logic is unviable in this scenario due to content layout and extent of personalisation.
If we could build a segment of a child record of the Contact (including custom tables) and rather than end with the Contact record in the segment query, end with specifying the lookup to the contact e.g. Applicant (custom). Then in the email designer the personalisation fields could be starting from the custom child table, rather than starting from the Contact.
Real-time Marketing will be more likely to meet these kind of requirements when the forthcoming release wave updates come in and we can trigger based on custom tables, however sometimes a segment is a better fit that a trigger e.g. Get me Applications created 15 days ago, where the subject is X and the parent contact is Y. Other current issues with Real-time are maximum 10 custom attributes when creating a custom trigger (would need much more, I understand this is coming soon), and limitations on the Real-time conditions where we would need something more like advanced find to meet the complex filtering requirements to decide when to trigger an email.
Just to say we are loving all the latest changes and improvements though btw, good work team, keep it up :)