Look into restful api’s. Every software provider that allows integration with another software product will provide an api for other software to communicate in defined ways.
For bonus credit, look into graphql. It’s a type of api that allows the calling software to define exactly what data they want in the response.
If you’re controlling both softwares (I.e. they’re two “internal” programs), look into RabbitMQ. It’s a messaging software that allows messages (data) to be passed between two distinct programs in a normalised fashion.
Disclaimer: this is all off the top of my head early on a Monday morning. Excuse any mistakes.