Question

Photo of Ross Li

0

Best Way to Sync People Information to External Application

We have an external financial software that we would like to sync People Information to. That software is custom developed so we have the say on how it should ingest the data from Rock. Just wondering what would be the best route to accomplish this.

1) My first thought would be the API, but I'm not sure if Rock's API has a webhook/subscription model to it? 

2) My second guess would be using workflows. When a People profile is updated, can a workflow trigger a piece of code that calls on the external application's API? 

3) Last resort, for a quick & dirty implementation, I can give the external application view only access to Rock's tables through a VPN between servers, but I'm hoping the above options are doable so that I don't have to do this.


  • Photo of David Stevens

    0

    If you plan to use the API, I'd recommend an aggregator like GraphQL that will query and help cache the API results.  

    There are workflow triggers that you can set up for each entity to send a payload to an external server.  This will require a lot of overhead to set up assuming you have production and development environments.

    You might also be able to use a package like Sequelize to make read-only calls from SQL Server into a friendlier format for external use.