Sorry, just saw! I'm working on something very similar in a very niche space, also trying to take lessons learned and productize a more general solution / platform based on past experiences.
It's a steep cliff between one-off integrations and a general platform with workflow/trigger/action type functionality (assuming you do anything like that, since you mentioned Zapier).
In my experience the hardest part of a general solution is all of the one-off custom business logic that each client seems to have, even when integrating the same two systems. There's custom fields, which in one system could be represented as a special object and in another is just another column in a database. There's tons of if-else logic. Etc.
When doing something like field mapping, did you end up creating an internal/intermediary data model to map everything to, or did you end up creating System-A-to-System-B type mappings? How did you end up handling the special cases; is there a sort of scripting system for special and conditional logic or do you have something like a set of predefined transformations / conditionals that can be applied to the data? I'm sure a lot of this could be handled by a workflow/trigger/action system if one were willing and able to go fine-grained enough on the individual steps.
Other than that, what would you say your biggest hurdle has been in getting this thing off the ground and running smoothly without too much babysitting on each individual integration?
Sorry if this is too much or if I'm asking questions about your secret sauce, feel free to ignore, or email me at my username at gmail.