There is two ways of achieve optional middleware behaviour:
1) Create another middleware, that checks condition and then passes all the parameters into the desired middleware. Example:
const middlewareStrategy = (req,res,next) => {
    if(req.body.token1){
        return middleware1(req,res,next);
    }
    return middleware2(req,res,next);
};
router.post("/findAvailableAgents", middlewareStrategy, handler);
2) Make middleware logic execution in a condition-driven manner. Example: 
const middleware1 = (req,res,next) => {
    if(req.body.token){
        // execute some logic, then
        return next();
    }
    // skip this middleware
    next();
};
router.post("/findAvailableAgents", middleware1, middleware2, handler);