How can I reassign a lead if the assignee does not take action in a certain amount of time?

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: