New to Kestra?
Use blueprints to kickstart your first workflows.
Trigger an Argo CD sync the moment CI finishes. Kestra prunes drift, verifies application health, and reports the result to Slack, all event-driven.
Close the gap between continuous integration and GitOps delivery with event-driven Argo CD syncing on Kestra. The moment your CI pipeline finishes a build, a webhook fires this flow, which triggers an Argo CD application sync with prune, confirms the application reports healthy, and posts the outcome to Slack. Instead of polling Git on a fixed interval or syncing manually, deployments follow successful builds in seconds, and your team learns about every promotion in the channel they already watch.
on_ci_complete trigger (io.kestra.plugin.core.trigger.Webhook) exposes a webhook guarded by a secret key. Your CI system POSTs to it when a build completes.sync task (io.kestra.plugin.argocd.apps.Sync) triggers an Argo CD sync for the application input, with prune: true to remove resources no longer defined in Git and revision: HEAD.status task (io.kestra.plugin.argocd.apps.Status) confirms the application is healthy after the sync settles.notify task (io.kestra.plugin.slack.notifications.SlackIncomingWebhook) posts the result to Slack via an incoming webhook URL.pluginDefaults injects the shared server and token values into both Argo CD tasks so credentials stay in one place.Argo CD's own controller reconciles on a schedule or on Git webhooks, but it has no native way to gate a sync on a CI build outcome, chain a downstream health check, retry transient API failures, or fan results out to Slack as one tracked unit of work. Kestra adds the event trigger that ties the sync to CI completion, captures full execution lineage and logs, supports retries and error handling, and keeps everything in declarative, version-controlled YAML.
ARGOCD_SERVER: Argo CD API server endpoint.ARGOCD_TOKEN: Argo CD API token used to authenticate the sync and status calls.ARGOCD_SYNC_WEBHOOK_KEY: secret key that guards the webhook trigger.SLACK_WEBHOOK_URL: Slack incoming webhook URL for notifications.application input to the Argo CD application you want to sync.revision input to sync a specific Git SHA or tag instead of HEAD.prune for additive-only syncs where deletions should be manual.sync when production promotions need a human sign-off.status result to alert louder when an application reports unhealthy.