+### probe_detect
+
+Called before trying to detect the target network of a URL.
+If any registered hook function sets the `result` key of the hook data array, it will be returned immediately.
+Hook functions should also return immediately if the hook data contains an existing result.
+
+Hook data:
+
+- **uri** (input): the profile URI.
+- **network** (input): the target network (can be empty for auto-detection).
+- **uid** (input): the user to return the contact data for (can be empty for public contacts).
+- **result** (output): Set by the hook function to indicate a successful detection.
+
+### support_follow
+
+Called to assert whether a connector addon provides follow capabilities.
+
+Hook data:
+- **protocol** (input): shorthand for the protocol. List of values is available in `src/Core/Protocol.php`.
+- **result** (output): should be true if the connector provides follow capabilities, left alone otherwise.
+
+### support_revoke_follow
+
+Called to assert whether a connector addon provides follow revocation capabilities.
+
+Hook data:
+- **protocol** (input): shorthand for the protocol. List of values is available in `src/Core/Protocol.php`.
+- **result** (output): should be true if the connector provides follow revocation capabilities, left alone otherwise.
+
+### follow
+
+Called before adding a new contact for a user to handle non-native network remote contact (like Twitter).
+
+Hook data:
+
+- **url** (input): URL of the remote contact.
+- **contact** (output): should be filled with the contact (with uid = user creating the contact) array if follow was successful.
+
+### unfollow
+
+Called when unfollowing a remote contact on a non-native network (like Twitter)
+
+Hook data:
+- **contact** (input): the remote contact (uid = local unfollowing user id) array.
+- **result** (output): wether the unfollowing is successful or not.
+
+### revoke_follow
+
+Called when making a remote contact on a non-native network (like Twitter) unfollow you.
+
+Hook data:
+- **contact** (input): the remote contact (uid = local revoking user id) array.
+- **result** (output): a boolean value indicating wether the operation was successful or not.
+
+### block
+
+Called when blocking a remote contact on a non-native network (like Twitter).
+
+Hook data:
+- **contact** (input): the remote contact (uid = 0) array.
+- **uid** (input): the user id to issue the block for.
+- **result** (output): a boolean value indicating wether the operation was successful or not.
+
+### unblock
+
+Called when unblocking a remote contact on a non-native network (like Twitter).
+
+Hook data:
+- **contact** (input): the remote contact (uid = 0) array.
+- **uid** (input): the user id to revoke the block for.
+- **result** (output): a boolean value indicating wether the operation was successful or not.
+
+### storage_instance
+
+Called when a custom storage is used (e.g. webdav_storage)
+
+Hook data:
+- **name** (input): the name of the used storage backend
+- **data['storage']** (output): the storage instance to use (**must** implement `\Friendica\Core\Storage\IWritableStorage`)
+
+### storage_config
+
+Called when the admin of the node wants to configure a custom storage (e.g. webdav_storage)
+
+Hook data:
+- **name** (input): the name of the used storage backend
+- **data['storage_config']** (output): the storage configuration instance to use (**must** implement `\Friendica\Core\Storage\Capability\IConfigureStorage`)
+