There is a well-defined standard process for them to add things to the backlog and there is a written down definition in which state items in the backlog have to be in so that they get picked up for the next sprint. If the team works with just one client/product, the client can prioritise the backlog.
During the sprint they can't give any input or request "just this one quick feature". The work is locked during the sprint. If they REALLY want something, the Agile Manifesto says to drop and delete all ongoing work and start a new sprint from scratch. Exactly zero clients have agreed to that - they really weren't in that much of a hurry with the feature.
After the sprint the client gets a demo of what the team achieved. An actual demo with the actual product. Not a powerpoint presentation of an ideal state or a video done in a demo environment. At this point the client can provide feedback and new features and we GOTO 10.
Usually a single member needs to be defined as a firefighter who takes on bugs and production issues that can't wait for the next sprint, but we don't tell that to the client. If there is no urgent work, they work on the sprint tasks as normal.
--
Kanban on the other hand works if the tasks have no dependencies with each other, like building maintenance or IT/DevOps type stuff.
"Install new laptop for Karen with standard package" doesn't require a sprint, anyone on the team can do it. Or "Set up AWS account with ECS for team B"