An action can run like a process and don't stop until it needs to.
Instead of returning EActionStatus.Success, you want to return EActionStatus.Running as below.
using SGOAP;
public class FooAction : Action
{
public override bool PrePerform(){}
public override EActionStatus Perform()
{
// Returning success will automatically finishes the action.
return EActionStatus.Running;
}
public override bool PostPerform(){}
}