Deal Still Appears in Previous Pipeline After Update via API

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!

Hey @HFarhat8 :waving_hand: The root issue is related to how the Search API works. This part from the Limitations section is our best clue — “It may take a few moments for newly created or updated CRM objects to appear in search results.”

I’d like to invite some of our community members to the conversation — hey @zach_threadint @albertsg @Kevin-C, do you have thoughts on a different approach to the project @HFarhat8 is working on?

Thank you! — Jaycee

Thank you Jaycee for getting back to me. This is a project I’m working on for a client so would highly appreciate if someone got back to me soon. I’ll also think of a workaround and post it here to see what you guys think.