Your E-sign service has to send web hooks to your app when a recipient interacts with the document.
This could be set up either when the document is created (send endpoint) or on an account or user basis.
It's important that your app knows which Upsales customer id (and user id if the app is user configurable) the webhook is for.
1 Your app receives a webhook from your E-sign service and initiates a manual run with the body you got from the hook.
2 Your apps /external
endpoint gets a request with the requests body.data containing the web hook data.
3 Update the E-sign document in Upsales: get the esign object from Upsales API using the requests body.apiKey and update the involved array according to the webhook information.