What This Workflow Does
This workflow automatically handles report creation and delivery from Qualys to Slack. It solves the problem of manual report fetching, waiting, downloading, and sharing by doing all steps for you. The result is quick access to updated Qualys reports in Slack every time, without manual work.
The workflow takes a report template from Qualys, starts report creation, keeps checking the status every minute, downloads the report when done, and posts it in a Slack channel with all important details.
Who Should Use This Workflow
This workflow is good for Security Operations Center staff and analysts. It helps anyone who needs detailed Qualys vulnerability reports regularly but wants to save time. It stops the slow and error-prone manual handling of reports.
If users manage multiple reports or work in teams needing quick report access in Slack, this automation streamlines the whole process.
Tools and Services Used
- Qualys API: To retrieve report templates, launch reports, and download finished reports.
- Slack API: To upload report files and send notifications to a Slack channel.
- n8n Workflow Automation: To connect the APIs, run the logic, and loop for status checks.
Inputs, Processing, and Outputs
Inputs
- Report title (customizable)
- Report output format (PDF or HTML)
- Report template name to generate the report
Processing Steps
- Fetch all report templates from Qualys API to find correct template ID.
- Launch report generation with chosen template and parameters.
- Loop, waiting 1 minute each time, to check report status until finished.
- Download report data once ready.
- Send report as a file with metadata message to Slack channel.
Outputs
- Uploaded report file in Slack channel with details such as report ID, launch time, and expiration date.
Beginner Step-by-Step: How to Use This Workflow in n8n
Importing the Workflow
- Click the “Download” button on this page to get the workflow file.
- Open the n8n editor and click on “Import from File” in the workflow menu.
- Select the downloaded workflow file to load it.
Configure Credentials and Settings
- Go to the credentials section and add your Qualys API Key credentials.
- Add your Slack OAuth token with file upload permissions.
- Edit the “Global Variables” node to update the Qualys API URL, report title, output format, and template name as needed.
- In the Slack node, update the Slack channel ID to where reports should be posted.
Testing and Activation
- Run the workflow once using the Demo Data node to simulate input.
- Check execution logs for errors.
- If all works well, activate the workflow in n8n to run in production.
- Optionally integrate with Slack Shortcut Bot or other triggers.
Use self-host n8n if running n8n in your own server environment.
Detailed Workflow Process
Step 1: Trigger and Input
The workflow starts when Slack modal form submits info like report title, output format, and template name. For testing, the Demo Data node simulates this input.
Step 2: Setting Variables
The Global Variables (Set node) makes API URL and input data reusable for all nodes.
Step 3: Fetch Templates
The Fetch Report IDs HTTP Request calls Qualys to get all report templates in XML.
Step 4: Convert XML to JSON
After fetch, the Convert XML To JSON node changes API XML response to JSON for easier use.
Step 5: Launch Report
The Launch Report HTTP Request sends a POST to start generating report with the chosen template, title, and output format.
Step 6: Parse Launch Response
Launch response XML is converted to JSON to extract the report ID for checking progress.
Step 7: Poll Status Loop
A loop waits 1 minute and calls Qualys to check report status. If not “Finished,” loop repeats. If finished, continues.
Step 8: Download Report
When finished, the workflow downloads the full report data from Qualys.
Step 9: Send to Slack
The Slack node posts the report file with details to the chosen Slack channel.
Customization Ideas
- Change Slack channel by editing the Slack node channelId.
- Modify report file type (PDF, HTML) in the Global Variables or input node.
- Select different report template by changing template_name variable.
- Adjust polling time in the “Wait 1 Minute” node to be faster or slower.
- Add email, Teams, or SMS notifications after Slack step.
Common Issues and Troubleshooting
- 401 Unauthorized
Cause: Incorrect or expired Qualys API credentials.
Fix: Update credentials in n8n and retest fetch node. - Endless status polling loop
Cause: Wrong report ID or status condition.
Fix: Check XML to JSON extraction and “STATE” check for exact “Finished” value. - Slack upload fails
Cause: Slack token missing file upload rights or wrong channel ID.
Fix: Fix Slack app permissions and validate channel ID.
Pre-Production Checks
- Test Qualys API access with “Fetch Report IDs” node.
- Verify Slack API token has upload permission and channel access.
- Use Demo Data node to simulate run before live triggers.
- Confirm XML to JSON parsers show expected data.
- Double-check template_name matches a real template.
- Set error handling in n8n for API failures.
Deployment Advice
Activate the workflow in n8n once ready. Connect with Slack Shortcut Bot for Slack-triggered runs.
Watch workflow executions logs to catch errors. Refresh API credentials as needed.
This workflow works on cloud or through self-host n8n set-ups.
Summary
✓ Saves time by automating Qualys report gathering and posting.
✓ Reduces mistakes from manual steps.
✓ Provides quick Slack access to latest security reports.
✓ Uses looping to wait and check report status without manual refresh.
✓ Easy to customize for templates, formats, and Slack channels.
