If the original assignee of a lead does not perform a particular action on a lead (for example send them an email) it is possible to automatically rerun that lead through Distributely for a new assignment.
Let's say that you want to allow an agent two hours after being assigned a lead to call that lead. In this example, we will use the native Hubspot property "Lead Response Time" which measures the time between the current owner assignment and a qualifying engagement on the contact record (sending an email, making a call, using chat, marking a task as in progress or complete, and meeting start time. If you will depend on another action being taken, you will want to first create a custom field that measures the time between the current owner assignment and that action.
Next, in your lead assignment workflow, after the Distributely action, create a delay for the amount of time the agent has to contact the lead (for example 2 hours) until one of the following happens: "property value changed." You'll then branch the workflow where if this property value is not changed, the lead goes back to the Distributely action.
Here is a short Vidyard of an example workflow: