event-driven ingestion