To synchronize calendars, you need the Android Calendar storage (system app com.android.providers.calendar) + permissions. It should be available and enabled by default on all Android firmwares.
To synchronize contacts, you need the Android Contacts storage (system app com.android.providers.contacts) + permissions. It should be available and enabled by default on all Android firmwares.
To synchronize tasks, you need the OpenTasks app + permissions.