Meteor’s inbuilt Promises work with Fibers/Futures, but 3rd-party Promises don’t. I would probably try using the rawCollection().insert method which returns Promises, rather than try to use bindEnvironment. So, instead of Collection.insert(...) try using Collection.rawCollection().insert(...) (the non-callback form). You will need to make sure you format the parameters for that according to the underlying library’s requirements - and call it as part of the Promise chain, or by using async/await appropriately.
Alternatively, I think it should be possible to “cast” a 3rd-party Promise into a Meteor Promise, in which case it will work as expected with Meteor’s Collection.insert.