Integration Help !!

SandeepKSingh
Kilo Sage

How would you design an eBonding solution between three ServiceNow instances (e.g., Customer, Vendor, and Internal ITSM) where incidents need to stay in sync across all, ensuring that updates like state changes and attachments are not duplicated? What’s the best way to handle reconciliation if one system is temporarily unavailable?"

3 ACCEPTED SOLUTIONS

Ravi Gaurav
Giga Sage
Giga Sage

Hi @SandeepKSingh 

A 3-way eBonding solution should use a hub-and-spoke model (one broker instance) with:

  • Canonical data model for incidents, with correlation keys and versioning.

  • Idempotency + ordering: use unique event IDs and per-source sequence numbers to prevent duplicates and keep updates in order.

  • Attachment dedupe: exchange SHA-256 manifests first, upload only missing files.

  • Loop prevention: set inbound flags so updates aren’t echoed back to origin.

  • Error handling & reconciliation: store events in an outbox, retry with exponential backoff, and run scheduled re-sync jobs when a partner is offline.

  • Conflict resolution: define field-level ownership (e.g., state from Vendor, comments from Customer) instead of global last-writer-wins.

--------------------------------------------------------------------------------------------------------------------------


If you found my response helpful, I would greatly appreciate it if you could mark it as "Accepted Solution" and "Helpful."
Your support not only benefits the community but also encourages me to continue assisting. Thank you so much!

Thanks and Regards
Ravi Gaurav | ServiceNow MVP 2025,2024 | ServiceNow Practice Lead | Solution Architect
CGI
M.Tech in Data Science & AI

 YouTube: https://www.youtube.com/@learnservicenowwithravi
 LinkedIn: https://www.linkedin.com/in/ravi-gaurav-a67542aa/

View solution in original post

I have one document that will help accordingly

--------------------------------------------------------------------------------------------------------------------------


If you found my response helpful, I would greatly appreciate it if you could mark it as "Accepted Solution" and "Helpful."
Your support not only benefits the community but also encourages me to continue assisting. Thank you so much!

Thanks and Regards
Ravi Gaurav | ServiceNow MVP 2025,2024 | ServiceNow Practice Lead | Solution Architect
CGI
M.Tech in Data Science & AI

 YouTube: https://www.youtube.com/@learnservicenowwithravi
 LinkedIn: https://www.linkedin.com/in/ravi-gaurav-a67542aa/

View solution in original post

Chaitanya ILCR
Kilo Patron

Hi @SandeepKSingh ,

 

1. you can go with RPS or IDR

 

OR( try this by enhancing it further)

 

you can store the changes made to the record in a custom table as a payload and create a schedule job to periodically(every 2 or 5 minutes) pull the info from other 2 instances. 

 

let's say you want to ebond incident records

 

on instance A there are few changes made, you can store these changes in the custom table 

 

and on instance B and C create a scheduled job to pull the information from the custom table and keep the records in sync ( schedule job and the custom table will in the 3 instances and they will pull and store info from other 2 instances)

 

 

Please mark my answer as helpful/correct if it resolves your query.

Regards,
Chaitanya

 

 

View solution in original post

4 REPLIES 4

Ravi Gaurav
Giga Sage
Giga Sage

Hi @SandeepKSingh 

A 3-way eBonding solution should use a hub-and-spoke model (one broker instance) with:

  • Canonical data model for incidents, with correlation keys and versioning.

  • Idempotency + ordering: use unique event IDs and per-source sequence numbers to prevent duplicates and keep updates in order.

  • Attachment dedupe: exchange SHA-256 manifests first, upload only missing files.

  • Loop prevention: set inbound flags so updates aren’t echoed back to origin.

  • Error handling & reconciliation: store events in an outbox, retry with exponential backoff, and run scheduled re-sync jobs when a partner is offline.

  • Conflict resolution: define field-level ownership (e.g., state from Vendor, comments from Customer) instead of global last-writer-wins.

--------------------------------------------------------------------------------------------------------------------------


If you found my response helpful, I would greatly appreciate it if you could mark it as "Accepted Solution" and "Helpful."
Your support not only benefits the community but also encourages me to continue assisting. Thank you so much!

Thanks and Regards
Ravi Gaurav | ServiceNow MVP 2025,2024 | ServiceNow Practice Lead | Solution Architect
CGI
M.Tech in Data Science & AI

 YouTube: https://www.youtube.com/@learnservicenowwithravi
 LinkedIn: https://www.linkedin.com/in/ravi-gaurav-a67542aa/

I have one document that will help accordingly

--------------------------------------------------------------------------------------------------------------------------


If you found my response helpful, I would greatly appreciate it if you could mark it as "Accepted Solution" and "Helpful."
Your support not only benefits the community but also encourages me to continue assisting. Thank you so much!

Thanks and Regards
Ravi Gaurav | ServiceNow MVP 2025,2024 | ServiceNow Practice Lead | Solution Architect
CGI
M.Tech in Data Science & AI

 YouTube: https://www.youtube.com/@learnservicenowwithravi
 LinkedIn: https://www.linkedin.com/in/ravi-gaurav-a67542aa/

Chaitanya ILCR
Kilo Patron

Hi @SandeepKSingh ,

 

1. you can go with RPS or IDR

 

OR( try this by enhancing it further)

 

you can store the changes made to the record in a custom table as a payload and create a schedule job to periodically(every 2 or 5 minutes) pull the info from other 2 instances. 

 

let's say you want to ebond incident records

 

on instance A there are few changes made, you can store these changes in the custom table 

 

and on instance B and C create a scheduled job to pull the information from the custom table and keep the records in sync ( schedule job and the custom table will in the 3 instances and they will pull and store info from other 2 instances)

 

 

Please mark my answer as helpful/correct if it resolves your query.

Regards,
Chaitanya

 

 

SandeepKSingh
Kilo Sage

Awesome Both of you.. Its really helped me !! and thanks @Ravi Gaurav  for the document insight