Data Exchange Framework (DEF) pretty matches your requirements. Basically, DEF is a base that you extend with providers. There are a list provides that Sitecore provides along with DEF such as Dynamics CRM Connector, Salesforce Connector, Sitecore Forms provider etc. Also you can implement your own provider to read data from any source you want (even your custom CRM system that nobody haired about). Each provider can work in both ways: read and write. DEF just help you to communicate between providers.
For example, you can read data from
Dynamics CRM (using Dynamics CRM Connector) and write them to
Salesforce (using Salesforce Connector) and vice versa. Both of them are third party.
In your case, if you are going to push data from Sitecore to third party, you need to use Sitecore provider (which reads/writes items) and install/implement provender for your third party.
DEF itself is used just for run import. OOTB you can run import manually or by some schedule.
If you want to trigger import outside, you need to install TenantService or write some lines of code to run it programmatically, this code are exists in Github
Also, I tried to explain some DEF basic things on meetup: Data Exchange Framework. How it works