Retrieve the signature status per user on a quote via the API
SOLVE
Hey, @DKevans You are not missing an option. There is no direct API endpoint to retrieve the individual signature status (PENDING or SIGNED) for each contact on a quote.
Using the tools we have available, we can create a “smart polling” service that monitors for a change in signature counts. This would solve for knowing when the quote is fully signed.
My thinking:
fetch all quotes that are currently active and require a signature
get both the completed signature count (hs_esign_num_signers_completed) and the required signature count (hs_esign_num_signers_required)
compare the new completed count to the last known count to detect progress
compare the completed count to the required count to detect completion
My test:
Use the Search API to get a list of all quotes that have e-signing enabled and are not yet accepted. This single request gives you all the data you need for the logic check.
This gives us a list of all active quotes. For each quote, you can now check:
Detect Progress: If the hs_esign_num_signers_completed value is greater than the value you have stored from your last check, you know a new signature has occurred.
Detect Completion: If hs_esign_num_signers_completed is equal to hs_esign_num_signers_required (and is not zero), you know the signature process for that quote is now complete. You can then flag it as “Fully Signed” and remove it from your active polling list.
If you already have a list of quote IDs from another source, you can poll them more efficiently using the Batch Read API instead of the Search API.
I know this workaround doesn't tell you who signed, but this gives you a complete and scalable way to track the entire signature lifecycle from start to finish.
Hope this helps! — Jaycee
HubSpot’s AI-powered customer agent resolves up to 50% of customer queries instantly, with some customers reaching up to 90% resolution rates. Learn More.
Did you know that the Community is available in other languages? Join regional conversations by changing your language settings !
Retrieve the signature status per user on a quote via the API
SOLVE
Hey, @DKevans You are not missing an option. There is no direct API endpoint to retrieve the individual signature status (PENDING or SIGNED) for each contact on a quote.
Using the tools we have available, we can create a “smart polling” service that monitors for a change in signature counts. This would solve for knowing when the quote is fully signed.
My thinking:
fetch all quotes that are currently active and require a signature
get both the completed signature count (hs_esign_num_signers_completed) and the required signature count (hs_esign_num_signers_required)
compare the new completed count to the last known count to detect progress
compare the completed count to the required count to detect completion
My test:
Use the Search API to get a list of all quotes that have e-signing enabled and are not yet accepted. This single request gives you all the data you need for the logic check.
This gives us a list of all active quotes. For each quote, you can now check:
Detect Progress: If the hs_esign_num_signers_completed value is greater than the value you have stored from your last check, you know a new signature has occurred.
Detect Completion: If hs_esign_num_signers_completed is equal to hs_esign_num_signers_required (and is not zero), you know the signature process for that quote is now complete. You can then flag it as “Fully Signed” and remove it from your active polling list.
If you already have a list of quote IDs from another source, you can poll them more efficiently using the Batch Read API instead of the Search API.
I know this workaround doesn't tell you who signed, but this gives you a complete and scalable way to track the entire signature lifecycle from start to finish.
Hope this helps! — Jaycee
HubSpot’s AI-powered customer agent resolves up to 50% of customer queries instantly, with some customers reaching up to 90% resolution rates. Learn More.
Did you know that the Community is available in other languages? Join regional conversations by changing your language settings !