Currently when a plugin errors, it gets autodisabled. This is however completely silent and easy to miss. The result can be degraded data quality or a hole in data in case of export plugins – something to be fixed ASAP.

A PagerDuty integration could come in useful here, allowing an alert to be sent in case of a plugin getting disabled. PagerDuty is tailored for this kind of thing, so this would potentially be better than e.g. an email – that could be easily missed in a sea of emails.

This problem was brought up by a current user of our Snowflake Export Plugin.
posthog/models/plugin.py
url_without_private_key = url.split("?")[0]
    if (
        Plugin.objects.filter(
            models.Q(url=url_without_private_key) | models.Q(url__startswith=f"{url_without_private_key}?")
        )
        .filter(organization_id=organization_id)
        .exists()
    ):
        raise ValidationError(f'Plugin from URL "{url_without_private_key}" already installed!')
def update_validated_data_from_url(validated_data: Dict[str, Any], url: str) -> Dict: