Skip to main content

Auto-renew AWS certificates with Slack approval workflow

Workflow preview

Workflow preview
100%
Auto-renew AWS certificates with Slack approval workflow preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

AWS Certificate Manager (ACM) Auto Renew with Slack notify & approval Who’s it for SRE/DevOps teams managing many ACM certs. Cloud ops who want hands off renewals with an approval step in Slack . M...

Best for

  • SecOps automation workflows
  • Multimodal AI automation workflows
  • intermediate n8n builders looking for reusable templates

Tools used

n8n-nodes-base.scheduletrigger, n8n-nodes-base.awscertificatemanager, n8n-nodes-base.slack, n8n-nodes-base.filter, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Trung Tran.

Original n8n.io source

1.1 Workflow description

Title
Auto-renew AWS certificates with Slack approval workflow
Workflow name
Auto-renew AWS certificates with Slack approval workflow

AWS Certificate Manager (ACM) Auto-Renew with Slack notify & approval

Who’s it for

  • SRE/DevOps teams managing many ACM certs.
  • Cloud ops who want hands-off renewals with an approval step in Slack.
  • MSPs that need auditable reminders and renewals on schedule.

How it works / What it does

  1. Schedule Trigger – runs daily (or your cadence).
  2. Get many certificates – fetches ACM certs (paginate if needed).
  3. Filter: expiring in next 7 days – keeps items where:
    • NotAfter before today + 7d
    • NotBefore before today (already valid)
  4. Send message and wait for response (Slack) – posts a certificate summary and pauses until Approve/Reject.
  5. Renew a certificate – on Approve, calls the renew action for the item.

How to set up

  1. Credentials
    • AWS in n8n with permissions to list/read/renew certs.
    • Slack OAuth (bot in the target channel).
  2. Schedule Trigger
    • Set to run once per day (e.g., 09:00 local).
  3. Get many certificates
    • Region: your ACM region(s).
    • If you have several regions, loop regions or run multiple branches.
  4. Filter (IF / Filter node)
    • Add these two conditions (AND):
      • {{ $json.NotAfter.toDateTime('s') }} is before {{ $today.plus(7,'days') }}
      • {{ $json.NotBefore.toDateTime('s') }} is before {{ $today }}
  5. Slack → Send & Wait
    • Message (text input):
      :warning: *ACM Certificate Expiry Alert* :warning:
      
      *Domain:* {{ $json.DomainName }}
      *SANs:* {{ $json.SubjectAlternativeNameSummaries }}
      *ARN:* {{ $json.CertificateArn }}
      *Algo:* {{ $json.KeyAlgorithm }}
      *Status:* {{ $json.Status }}
      *Issued:* {{ $json.IssuedAt | toDate | formatDate("YYYY-MM-DD HH:mm") }}
      *Expires:* {{ $json.NotAfter | toDate | formatDate("YYYY-MM-DD HH:mm") }}
      
      Approve to start renewal.
      
    • Add two buttons: Approve / Reject (the node will output which was clicked).
  6. Renew a certificate
    • Map the CertificateArn from the Slack Approved branch.

Requirements

  • n8n (current version with Slack Send & Wait).
  • AWS IAM permissions (read + renew ACM), e.g.:
    • acm:ListCertificates, acm:DescribeCertificate, acm:RenewCertificate (plus region access).
  • Slack bot with permission to post & use interactivity in the target channel.

How to customize the workflow

  • Window size: change 7 to 14 or 30 days in the filter.
  • Catch expired: add an OR path {{ $json.NotAfter.toDateTime('s') }} is before {{ $today }} → send a red Slack alert.
  • Auto-renew w/o approval: bypass Slack and renew directly for low-risk domains.
  • Multiple regions/accounts: iterate over a list of regions or assume roles per account.
  • Logging: add a Google Sheet/DB append after Slack click with user, time, result.
  • Escalation: if no Slack response after N hours, ping @oncall or open a ticket.

Notes

  • The Slack node pauses execution until a button is clicked—perfect for change control.
  • Time conversions above assume NotAfter/IssuedAt are Unix seconds ('s'). Adjust if your data differs.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 2 - Renew a certificate

Type / Role
n8n-nodes-base.awsCertificateManager - awsCertificateManager
Config choices
Version 1

Block 3 - Get many certificates

Type / Role
n8n-nodes-base.awsCertificateManager - awsCertificateManager
Config choices
Version 1

Block 4 - Send message and wait for response

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.3

Block 5 - Cert expire in next 7 days?

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.2

Block 6 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 8 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 9 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 10 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Inform IT Admin

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.3

Block 13 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Sticky Note7

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Auto-renew AWS certificates with Slack approval workflow
Complexity intermediate
Nodes 14
Categories SecOps, Multimodal AI
Author Trung Tran
Published 17 Aug 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/7490/7490.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Auto-renew AWS certificates with Slack approval workflow do?

AWS Certificate Manager (ACM) Auto Renew with Slack notify & approval Who’s it for SRE/DevOps teams managing many ACM certs. Cloud ops who want hands off renewals with an approval step in Slack . M...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your SecOps, Multimodal AI use case.