Hi everyone, I would appreciate it if someone got back to me on the following puzzling query.
I have two pipelines:
- Course Interest pipeline which has a value of “default”
- Applications pipeline which has a value of “1510593736”
I have a block of code that searches for a deal in the Course Interest pipeline, and if a deal is found, it updates it and sets its pipeline to Applications alongside the relevant stage. Sometimes, the search returns multiple deals but I only update the first deal returned. This is where I’m facing a problem.
If multiple deals were found in the Course Interest pipeline, as I mentioned before, I would update the first one and set its pipeline to Applications. On the second iteration, when I run the search again, I expect that the deal I previously updated should not exist in the Course Interest pipeline. But it does! Here’s the puzzling part. When I look at my logs, I can see that the deal’s pipeline has been clearly set to 1510593736 (Applications pipeline).
Here’s an excerpt from the logs:
2025-04-23 14:22:12,317 - INFO - Searching for deal in Course Interest pipeline with filters: {
“filters”: [
{
“propertyName”: “pipeline”,
“operator”: “EQ”,
“value”: "default"
},
{
“propertyName”: “student_email”,
“operator”: “EQ”,
“value”: “malachi.c.shirley@gmail.com”
},
{
“propertyName”: “student_first_name”,
“operator”: “EQ”,
“value”: “Malachi”
},
{
“propertyName”: “student_last_name”,
“operator”: “EQ”,
“value”: “Shirley”
}
]
}
2025-04-23 14:22:12,475 - INFO - Deal found in Course Interest pipeline for student 45604260: {
“id”: “32871562481”,
“properties”: {
“amount”: null,
“closedate”: null,
“createdate”: “2024-10-31T08:22:22.875Z”,
“dealname”: “Malachi Shirley”,
“dealstage”: “2070099185”,
“hs_lastmodifieddate”: “2025-04-23T13:22:11.672Z”,
“hs_object_id”: “32871562481”,
“pipeline”: "1510593736"
},
“createdAt”: “2024-10-31T08:22:22.875Z”,
“updatedAt”: “2025-04-23T13:22:11.672Z”,
“archived”: false
}
My Question
Is this behavior due to a delay in HubSpot’s internal indexing after a pipeline update?
A temporary workaround is to use time.sleep() before re-querying, but I’d prefer a more reliable solution. Has anyone else faced this? If so, how did you resolve it?
Thanks in advance!