Hi team, I’m using the Hubspot API (not the native CRM integration). My flow is:
Lookup contact ID (via LinkedIn, name + company, etc.)
If not found → create contact via API
Then I want to store the recently created ID and use it for updates later, and avoid duplicates
Problem: I get circular dependency errors when I try to use the newly created ID to control whether the create step should run or not. How can I avoid this? Thanks alot !
Use a status column to break the circular dependency. Create a column that tracks processing status (e.g., "Not Processed", "Created", "Updated") and only run your create action when status is "Not Processed". [1]
Set up conditional runs based on your lookup results - configure the create action to only run if no matching contact ID was found from the lookup step. [2]
For dependent columns that rely on earlier steps, create a formula column using Clay.getCellStatus({{field_id}}) to check if preceding columns have completed processing, then use this as your "only run if" condition.
This prevents the newly created ID from triggering the create step again while allowing you to store and use it for future updates.
Was that helpful?
If you still need help resolving the circular dependency issue or have more questions about your Hubspot API flow, I’m here to assist. Would you like to provide more details about what you’re trying to achieve or any specific challenges you’re facing?
I made 2 colums : "can create?" that looksup IDs, and say "YES" or "NO". and "can update ?" that lookupsup IDs, + the created one. But it still has circular dependancies, because when an ID is created, i want it to be added on the "can update" column
The circular dependency occurs because your "can update?" column references the created ID, which creates a loop. Use a status column approach instead: [1]
Create a single status column with values like "Not Processed", "Created", "Updated". Set your create action to only run when status is "Not Processed", then update the status to "Created" after creation.
For the update logic, use Clay.getCellStatus({{create_column_id}}) to check if the create step completed, then run updates based on that status rather than referencing the created ID directly.
This breaks the circular reference while still allowing you to control the flow and avoid duplicates. [2]
Did that answer your question?
If you still need additional help with resolving the circular dependency issue, I’m happy to assist further. Would you like to share more details about your setup or any other challenges you’re encountering?
i still have dependancies
The "Contact Status" column is creating a circular dependency because it's being referenced by columns that it also depends on. [1]
Solution: Remove the "Contact Status" column from the "Only run if" condition in your "Create hubspot contact" action. Instead, use Clay.getCellStatus({{lookup_column_id}}) in a separate formula column to check if your lookup completed, then reference that formula column in your run conditions.
This breaks the circular reference while maintaining proper sequencing - your create action will only run after the lookup finishes, without the status column depending on itself.
Is that what you were looking for?
If you still need help with breaking the circular dependency in your workflow, I’m here to assist. Would you like to provide more details about your current setup or any other issues you’re facing?
The issue is your fallback condition || "".includes("") always evaluates to true, making your create action run unconditionally. [1]
Remove the fallback condition entirely. Change your formula to:
{{Contact Status}}?.toLowerCase()?.includes("non traité")Also, your Contact Status column references both Create and Update columns, creating the circular dependency. Use separate status tracking instead:
Create a simple "Processed" column with values like "No", "Created", "Updated"
Set create action to only run when Processed = "No"
Update Processed to "Created" after creation completes
This breaks the circular reference while maintaining proper sequencing.
If you still need additional help with resolving the circular dependency issue, I apologize for the ongoing difficulty and am here to assist. Would you like to provide more details about your current setup or any other challenges you’re facing?
I am still getting dependancies :
My hubspot source is a csv export in a table.
This helps me finding 1st hubspot ID.
Then, I use lookup + create/update, but even with contact status, or tierce columns, I get dependancies.
the problem is that i can't ask my "create" columns to update only if "update" is done, because "update" must use some "create" datas. Is there any solution ?
