What is the best way
There is no best way. If there was, it would be known and documented extensively on YouTube I'm sure.
The real question is how you want yours to be. And it may be using specific elements which can require simple features to assemble together. Every game is different. It's extremely unlikely that you'll find a YouTube video fitting exactly what you want for your game. Still, watching some can give you ideas on how to do some of it. If you aren't experienced in this, don't try to do everything at once. Start simple, and improve.
From what you describe, I suppose you could make use of
Area2D to trigger when the player enters a certain area. Then trigger a game state where input changes from controlling the character to controlling a chatbox instead, or changing to a state where just an animation plays out. This requires a bit of scripting to change states, play stuff, and change input logic accordingly.
Animations can be done with
AnimationPlayer, and these can include doing a camera travelling or animating positions.
There are many dialog plugins on the asset library if you'd like a pre-existing system: https://godotengine.org/asset-library/asset?category=&godot_version=&sort=updated&filter=dialog
There are also state machines if you'd like to structure the state changes induced by being in a cutscene, dialog or character gameplay https://godotengine.org/asset-library/asset?category=&godot_version=&sort=updated&filter=state+machine