Troubleshooting Conditional Logic in Multi-Layer Enrichment Flow
Hey Clay team, I’ve hit a pretty advanced roadblock and wanted to see if there’s any clean workaround for it. I’ve set up a conditional multi-layer enrichment flow where I’m combining custom logic between Lookup Company Domain, Apollo, Clearbit, and other sources. The logic branches depending on which tool returns data and whether certain fields are blank for example, if Apollo fails to return an email but provides a name, it should trigger Clearbit next, and so on. The issue I’m facing is that Clay’s conditional rules seem to treat any non-error result as “success,” even if the fields returned are incomplete or basically unusable. So if a source returns just a company logo or a single social URL, the fallback steps get skipped. I’ve tried using “contains,” “does not contain,” and custom if/else logic on specific fields like email or job title, but it’s not reliable at scale especially with bulk runs. In some cases, enrichments freeze on “awaiting input” even though the data looks ready. In others, the fallback never triggers despite the result being clearly incomplete. What I need is a way to trigger fallback enrichments only if certain high-value fields (like verified email, title, or LinkedIn URL) are still missing not just based on whether the step technically ran. Either that, or a way to overwrite partial enrichments with better fallback results later in the sequence. Curious if there’s any way to handle this more intelligently. It’s been really hard to maintain accuracy across large dynamic tables because of how these edge cases behave.