This repository contains pre-built automation workflows for IBM Concert Workflows. All workflows are organized into categories and provided as ZIP bundles with proper manifests.
workflows-public/
├── manifest.json # Root manifest listing all categories
├── package.json # NPM scripts for management
├── main.js # Main automation script
├── Certificates/ # Category folder
│ ├── manifest.json # Category manifest
│ └── *.zip # Workflow bundles
├── Vulnerability Remediation/
│ ├── manifest.json
│ └── *.zip
└── [13 more categories...]
- Clone the repository
- Install dependencies:
npm installDownload all workflows from IBM Automation Library:
npm run download-allDownload workflows for a specific category:
npm run download "Vulnerability Remediation"Verify all category manifests against local ZIP files:
npm run verify-all-categoriesVerify a single category manifest:
npm run verify-category "Vulnerability Remediation"Verify root manifest structure:
npm run verify-rootVerify ZIP file structure in a directory:
npm run verify "Vulnerability Remediation"Fix invalid ZIP structures in a directory:
npm run fix "Vulnerability Remediation"Extract integrations from a specific ZIP bundle:
npm run extract-integrations "Vulnerability Remediation/Apply_Amazon_Linux_Patch.zip"When you want to add a new workflow bundle to the repository:
Place your workflow ZIP bundle in the appropriate category folder:
# Example: Adding a new workflow to Vulnerability Remediation
cp my_new_workflow.zip "Vulnerability Remediation/"Ensure the ZIP has the correct structure (single root folder):
npm run verify "Vulnerability Remediation"If the ZIP structure is invalid, fix it:
npm run fix "Vulnerability Remediation"Verify and update the category manifest to include the new bundle:
npm run verify-category "Vulnerability Remediation"This will:
- Detect the new ZIP file
- Extract integrations automatically from the workflow code
- Report if the manifest needs updating
If the verification shows the ZIP is not in the manifest, add it manually to Vulnerability Remediation/manifest.json:
{
"name": "Vulnerability Remediation",
"description": "...",
"entries": [
{
"name": "My New Workflow",
"path": "my_new_workflow.zip",
"description": "Description of what this workflow does",
"integrations": ["AWS", "Common", "IBM"],
"tags": ["use-case:vulnerability-remediation"]
}
]
}Note: You can get the correct integrations list by running:
npm run extract-integrations "Vulnerability Remediation/my_new_workflow.zip"Run verification again to ensure everything is correct:
npm run verify-category "Vulnerability Remediation"When you update an existing workflow ZIP file:
Replace the existing ZIP file with your updated version:
cp updated_workflow.zip "Vulnerability Remediation/existing_workflow.zip"npm run verify "Vulnerability Remediation"Check if the integrations have changed:
npm run verify-category "Vulnerability Remediation"This will:
- Extract integrations from the updated ZIP
- Compare with the manifest
- Report any mismatches
If integrations have changed, update the manifest entry:
# Get the new integrations list
npm run extract-integrations "Vulnerability Remediation/existing_workflow.zip"
# Update manifest.json with the new integrationsAfter making changes, verify the entire repository:
npm run verify-all-categories
npm run verify-rootAll workflow ZIP bundles must follow these requirements:
Each ZIP must contain exactly one root folder with all workflow files inside:
✅ Valid Structure:
workflow_name.zip
└── workflow_name/
├── workflow_name.json
├── helper_workflow.json
└── other_files...
❌ Invalid Structure:
workflow_name.zip
├── workflow_name.json # Files at root level
├── helper_workflow.json
└── other_files...
Integrations are automatically extracted from workflow JSON files based on:
- Blocks without
actionproperty →Common - Common actions (no
/in action) →Common system/{Integration}/...actions → Extract integration name- Relative workflow references → Recursive extraction
See _bob/extract_zip_integrations.md for detailed rules.
Each category must have a manifest.json file:
{
"name": "Category Name",
"description": "Category description",
"entries": [
{
"name": "Workflow Name",
"path": "workflow_name.zip",
"description": "What this workflow does",
"integrations": ["AWS", "Common", "IBM"],
"tags": ["use-case:category-name"]
}
]
}If verification reports invalid ZIP structure:
npm run fix "Category Name"If verification reports integration mismatches:
- Extract actual integrations:
npm run extract-integrations "path/to/bundle.zip" - Update the manifest with the correct integrations
- Verify again:
npm run verify-category "Category Name"
If verification reports missing ZIPs:
- The manifest references a ZIP file that doesn't exist
- Either add the missing ZIP or remove the entry from manifest
If verification reports extra ZIPs:
- A ZIP file exists but is not in the manifest
- Add the bundle to the manifest following Step 4 above
To fetch the latest workflows from IBM Automation Library:
npm run scrapemain.js- Main automation script with all functionspackage.json- NPM scripts and dependenciesmanifest.json- Root manifest listing all categories_bob/- Documentation and instructions_bob_output/- Cache folder (auto-created, gitignored)schemas/- JSON schemas for manifests
Detailed documentation is available in the _bob/ directory:
project_overview.md- Project overviewscrape_automation_library.md- API documentationextract_zip_integrations.md- Integration extraction rulesverify_and_fix_zip_structure.md- ZIP verification guideupdate_single_category_manifest.md- Category manifest schemaupdate_root_manifest.md- Root manifest schema
ISC