I have a canvas app, I need to populate its data based on the sales record I open in CRM sales. or how can I tight it to a record in CRM.
You may have intended to create the canvas app as an embedded app, for use within a model-driven app.
https://docs.microsoft.com/en-us/powerapps/maker/model-driven-apps/embed-canvas-app-in-form
https://docs.microsoft.com/en-us/powerapps/maker/model-driven-apps/embedded-canvas-app-guidelines
You can also pass a parameter to your existing app, to help it contextually load the app for that record. However, the main advantage of an embedded app is that it is tightly coupled with the record/form, and allows for a very contextual and record-tailored experience.
With your standalone app, you'll need to ensure you have all the same entities and a way to redirect/filter to the correct record.
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-param