The code to prevent recursively calling the remote event receiver uses a Event Firing Enabled method.You can do this by expanding this sample like this: to the existing Item Added RER an Item Adding and Item Updating RER has been added.However, this sample also adds a list to the host web and activates a feature in the host web, both of which require Manage permissions for the Web.

Itemupdating fires twice video

This scenario shows how an add-in can use the add-in Installed event to perform additional work in the host web, such as attaching event receivers to lists in the host web.

For more information on this scenario, see the blog post:

Stina Qvarnström did write an nice blog describing this approach.

A possible implementation for providing recursive event receiver calls starts with storing the Share Point Correlation ID before a RER is triggered into a persistent store.

Using SSOM you would disable the event receiver from firing using but that's not an option for remote event receivers.

A good alternative is to add a condition on the actual update logic: only perform an update if there's a change.

Also note that several webhook samples are available from the sp-dev-samples Git Hub repository.

The solution is a provider-hosted add-in (remote event receivers are not supported with Share Point-hosted apps).

Scroll down to ensure a Windows Azure Service Bus connection string is configured. For more information on Remote Event Receiver debugging, see the section “Debugging Remote Events” at RER.