There are several methods to send a fax to the XM Fax service through a 3rd party application.
Faxing through email
Any XM Fax User can send an email to the cloud-based fax service from where it will be faxed. As such, an application that is capable of sending emails can do so on behalf of a User. See XM Fax Integration with Email Infrastructures.
Faxing with the XM Fax Web Services
Web Services is a programmatic interface to the XM Fax service. It can be used to send faxes from 3rd party applications with a SOAP request over HTTPs. Such a request could be invoked through the most popular programming languages (Python, Ruby, C++, Java, .NET, ...) or even using command line applications such as cURL.
Faxing with XML metadata
It is possible to automate faxing using XML metadata. By making an HTTPs POST, you can send an XML metadata file containing the necessary information to send faxes, with optional attachments.
To fax using XML metadata, see the following article: Sending Faxes using XML Control Files.