Moodle Infusionsoft API / Webhooks Bridge

Hello - I am new to both the Infusionsoft community and general API ecosystem. The plan is when a student in our university enrolls, through Infusionsoft e-commerce, they get profiles automatically created on a Moodle 3.4 site. Ideally, the moodle and infusionsoft connection would have a lot of bandwidth and we could automatically trigger sequences / tagging based on multivariate activity within the moodle account. The script between Infusionsoft and Moodle’s Event 2 API would have to have a lot of functionality based on student degree program, existing tags, last login date, GPA, days until due…

For example, when a student finished one course they would get a tag of completion + automatic enrollment in the next course of their program. This is something we could do alone in Moodle but connecting that information to Infusionsoft allows the progress to connect with all contact data and give us a huge window into new, coherent reporting on hitting educational outcomes. I am planning on using Graphly to create awesome graphs of that data - more or less what Intelliboard does for Moodle reporting data. Also, we’d like to send moodle data to infusionsoft to initiate sequences / assign Tasks for mentors - i.e. when a student hasn’t completed assignments or hasn’t logged in for a week and needs contacting.

There is definitely a handful of somewhat clunky solutions - the webhooks in Moodle could be connecting to Zapier which connects into a matching client in CRM - but I want a better, more elegant solution in the form of a custom script / API bridge. What is the BEST solution here? Should I just design a few zaps and set the Webhooks plug-in up in Moodle or create a script to handle it elegantly?

Also - if someone changes their emails in one database what happens in the other? Is this another representation you could have a script triggering a change in the other? What about with multiple sites?

The project is far beyond my current Infusionsoft, Moodle API, or general programming knowledge and skills - I am ultimately planning on hiring a developer but I NEED to understand what is happening and be able to patch in new connections using the developed framework…

So the first thing to answer is which implementation of Moodle we’re referring to. There’s the hosted version, the client site local version and the client computer version. Each has a different way of working with it and different options (not just the use of the api). Most often I’ve seen the version that is installed on and run from a client’s website/hosting.