In this article we introduce an integrated agent-based train, passenger and incident simulation engine for data-driven incident response in urban railway networks. We model the movement of passengers and trains as individual agents behaving according to parsimonious models defined by data availability. Appropriate statistical routines are implemented for model calibration. We also design a generic incident model appropriate for typical localized mechanical failure scenarios in which the transport supply is adversely impacted in a short spatio-Temporal window. Given the brief and localized nature of these events, a mathematical programming formulation is proposed, which computes the optimal action plan for a specific incident. The set of action plans considered includes re-scheduling existing train services as well as running temporary services. The numerical performance of the simulation engine is presented using a large dataset of real anonymized smart card data. The results of the proposed optimization framework are then evaluated using real incident scenarios.