Skip to content

fix: Fix integration names for proper App UI display#198

Open
sumitramanga wants to merge 3 commits intomasterfrom
sm/fix-integration-names
Open

fix: Fix integration names for proper App UI display#198
sumitramanga wants to merge 3 commits intomasterfrom
sm/fix-integration-names

Conversation

@sumitramanga
Copy link
Copy Markdown
Contributor

Description 📝

  • Purpose: Fix integration names so they appear correctly within the App UI instead of showing technical identifiers
  • Approach: Update the "name" field in config.json files across multiple integrations to use proper display names instead of lowercase technical names

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Updates
👉 Updated AWS integration name from "aws" to "AWS - Security" for better clarity
👉 Standardized integration names to proper case (Canva, Coda, Ghost, Jira, Fathom)
👉 Fixed Companies Register and Fathom integration names to be more user-friendly

Screenshots 📷

{Image here of before and after - if applicable}

Test plan 🧪

Provide guidance for how to QA your proposed changes. This is not only for a test but also useful for a reviewer.

  • Verify integration names display correctly in the App UI
  • Check that all affected integrations (AWS, Canva, Coda, Companies Register, Fathom, Ghost, Jira) show proper names
  • Ensure no breaking changes to integration functionality

Author(s) to check 👓

  • Project and all contained modules builds successfully
  • Self-/dev-tested
  • Unit/UI/Automation/Integration tests provided where applicable
  • Code is written to standards
  • Appropriate documentation written (code comments, internal docs)

@sumitramanga
Copy link
Copy Markdown
Contributor Author

Note that this has been fixed in the DB

@sumitramanga sumitramanga changed the title Fix integration names for proper App UI display fix: Fix integration names for proper App UI display Mar 29, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 29, 2026

🔍 Integration Validation Results

Commit: 2aec74f336b39c5dd5a2c3c44d732da3a8262bb0 · fix: lint, formatting, and security warnings across validated integrations (#199)
Updated: 2026-03-30T00:49:20Z

Changed directories: aws canva coda companies-register fathom ghost jira

Check Result
Structure ⚠️ Passed with warnings
Code ⚠️ Passed with warnings
README ✅ Passed
⚠️ Structure Check output
Validating 7 integration(s)...

============================================================
Integration: aws
============================================================

Warnings (2):
  ⚠️ config.json 'name' (AWS - Security) doesn't match folder name (aws)
  ⚠️ Integration should use 'Integration.load()' to load the integration

============================================================
Integration: canva
============================================================

Warnings (1):
  ⚠️ Potentially unused scopes (please verify): profile:read

============================================================
Integration: coda
============================================================
✅ All checks passed!

============================================================
Integration: companies-register
============================================================

Warnings (1):
  ⚠️ config.json 'name' (Companies Register) doesn't match folder name (companies-register)

============================================================
Integration: fathom
============================================================

Warnings (1):
  ⚠️ Potentially unused scopes (please verify): public_api

============================================================
Integration: ghost
============================================================
✅ All checks passed!

============================================================
Integration: jira
============================================================
✅ All checks passed!

============================================================
SUMMARY
============================================================
Integrations validated: 7
Total errors: 0
Total warnings: 5

⚠️ Validation passed with warnings - please review
⚠️ Code Check output
----------------------------------------
Checking: aws
----------------------------------------

📦 Installing dependencies...

🐍 Checking Python syntax...
   ✅ Syntax OK

📥 Checking imports...
   ✅ Imports OK

📄 Checking JSON files...
   ✅ JSON files OK

🔍 Linting with ruff...
   ✅ Lint OK

🎨 Checking formatting with ruff...
   ✅ Formatting OK

🔒 Scanning for security issues with bandit...
   ✅ Security OK

🛡️ Checking dependencies for vulnerabilities with pip-audit...
   ✅ Dependencies OK

🔗 Checking config-code sync...
   ✅ Config-code sync OK

----------------------------------------
Checking: canva
----------------------------------------

📦 Installing dependencies...

🐍 Checking Python syntax...
   ✅ Syntax OK

📥 Checking imports...
   ✅ Imports OK

📄 Checking JSON files...
   ✅ JSON files OK

🔍 Linting with ruff...
   ✅ Lint OK

🎨 Checking formatting with ruff...
   ✅ Formatting OK

🔒 Scanning for security issues with bandit...
   ✅ Security OK

🛡️ Checking dependencies for vulnerabilities with pip-audit...
   ✅ Dependencies OK

🔗 Checking config-code sync...
   ⚠️  Action 'update_asset': parameter 'name' is optional in schema but accessed with inputs["name"] (will raise KeyError if not provided)
   ⚠️  Action 'update_asset': parameter 'tags' is optional in schema but accessed with inputs["tags"] (will raise KeyError if not provided)
   ⚠️  Action 'create_design': parameter 'asset_id' is optional in schema but accessed with inputs["asset_id"] (will raise KeyError if not provided)
   ⚠️  Action 'create_design': parameter 'title' is optional in schema but accessed with inputs["title"] (will raise KeyError if not provided)
   ⚠️  Action 'list_designs': parameter 'continuation' is optional in schema but accessed with inputs["continuation"] (will raise KeyError if not provided)
   ⚠️  Action 'list_designs': parameter 'query' is optional in schema but accessed with inputs["query"] (will raise KeyError if not provided)
   ⚠️  Action 'list_designs': parameter 'sort_by' is optional in schema but accessed with inputs["sort_by"] (will raise KeyError if not provided)
   ⚠️  Action 'list_designs': parameter 'ownership' is optional in schema but accessed with inputs["ownership"] (will raise KeyError if not provided)
   ⚠️  Action 'export_design': parameter 'lossless' is optional in schema but accessed with inputs["lossless"] (will raise KeyError if not provided)
   ⚠️  Action 'export_design': parameter 'jpg_quality' is optional in schema but accessed with inputs["jpg_quality"] (will raise KeyError if not provided)
   ⚠️  Action 'export_design': parameter 'export_quality' is optional in schema but accessed with inputs["export_quality"] (will raise KeyError if not provided)
   ⚠️  Action 'export_design': parameter 'image_quality' is optional in schema but accessed with inputs["image_quality"] (will raise KeyError if not provided)
   ⚠️  Action 'export_design': parameter 'paper_size' is optional in schema but accessed with inputs["paper_size"] (will raise KeyError if not provided)
   ⚠️  Action 'export_design': parameter 'as_single_image' is optional in schema but accessed with inputs["as_single_image"] (will raise KeyError if not provided)
   ⚠️  Action 'export_design': parameter 'height' is optional in schema but accessed with inputs["height"] (will raise KeyError if not provided)
   ⚠️  Action 'export_design': parameter 'pages' is optional in schema but accessed with inputs["pages"] (will raise KeyError if not provided)
   ⚠️  Action 'export_design': parameter 'width' is optional in schema but accessed with inputs["width"] (will raise KeyError if not provided)
   ⚠️  Action 'export_design': parameter 'transparent_background' is optional in schema but accessed with inputs["transparent_background"] (will raise KeyError if not provided)
   ⚠️  Action 'import_design_from_url': parameter 'mime_type' is optional in schema but accessed with inputs["mime_type"] (will raise KeyError if not provided)
   ⚠️  Action 'list_folder_items': parameter 'continuation' is optional in schema but accessed with inputs["continuation"] (will raise KeyError if not provided)
   ✅ Config-code sync OK

----------------------------------------
Checking: coda
----------------------------------------

📦 Installing dependencies...

🐍 Checking Python syntax...
   ✅ Syntax OK

📥 Checking imports...
   ✅ Imports OK

📄 Checking JSON files...
   ✅ JSON files OK

🔍 Linting with ruff...
   ✅ Lint OK

🎨 Checking formatting with ruff...
   ✅ Formatting OK

🔒 Scanning for security issues with bandit...
   ✅ Security OK

🛡️ Checking dependencies for vulnerabilities with pip-audit...
   ✅ Dependencies OK

🔗 Checking config-code sync...
   ⚠️  Action 'list_docs': parameter 'source_doc' is optional in schema but accessed with inputs["source_doc"] (will raise KeyError if not provided)
   ⚠️  Action 'list_docs': parameter 'query' is optional in schema but accessed with inputs["query"] (will raise KeyError if not provided)
   ⚠️  Action 'list_docs': parameter 'is_published' is optional in schema but accessed with inputs["is_published"] (will raise KeyError if not provided)
   ⚠️  Action 'list_docs': parameter 'is_owner' is optional in schema but accessed with inputs["is_owner"] (will raise KeyError if not provided)
   ⚠️  Action 'list_docs': parameter 'limit' is optional in schema but accessed with inputs["limit"] (will raise KeyError if not provided)
   ⚠️  Action 'list_docs': parameter 'is_starred' is optional in schema but accessed with inputs["is_starred"] (will raise KeyError if not provided)
   ⚠️  Action 'create_doc': parameter 'folder_id' is optional in schema but accessed with inputs["folder_id"] (will raise KeyError if not provided)
   ⚠️  Action 'create_doc': parameter 'source_doc' is optional in schema but accessed with inputs["source_doc"] (will raise KeyError if not provided)
   ⚠️  Action 'create_doc': parameter 'timezone' is optional in schema but accessed with inputs["timezone"] (will raise KeyError if not provided)
   ⚠️  Action 'update_doc': parameter 'icon_name' is optional in schema but accessed with inputs["icon_name"] (will raise KeyError if not provided)
   ⚠️  Action 'update_doc': parameter 'title' is optional in schema but accessed with inputs["title"] (will raise KeyError if not provided)
   ⚠️  Action 'list_pages': parameter 'page_token' is optional in schema but accessed with inputs["page_token"] (will raise KeyError if not provided)
   ⚠️  Action 'list_pages': parameter 'limit' is optional in schema but accessed with inputs["limit"] (will raise KeyError if not provided)
   ⚠️  Action 'create_page': parameter 'image_url' is optional in schema but accessed with inputs["image_url"] (will raise KeyError if not provided)
   ⚠️  Action 'create_page': parameter 'parent_page_id' is optional in schema but accessed with inputs["parent_page_id"] (will raise KeyError if not provided)
   ⚠️  Action 'create_page': parameter 'content' is optional in schema but accessed with inputs["content"] (will raise KeyError if not provided)
   ⚠️  Action 'create_page': parameter 'subtitle' is optional in schema but accessed with inputs["subtitle"] (will raise KeyError if not provided)
   ⚠️  Action 'create_page': parameter 'icon_name' is optional in schema but accessed with inputs["icon_name"] (will raise KeyError if not provided)
   ⚠️  Action 'update_page': parameter 'name' is optional in schema but accessed with inputs["name"] (will raise KeyError if not provided)
   ⚠️  Action 'update_page': parameter 'subtitle' is optional in schema but accessed with inputs["subtitle"] (will raise KeyError if not provided)
   ⚠️  Action 'update_page': parameter 'icon_name' is optional in schema but accessed with inputs["icon_name"] (will raise KeyError if not provided)
   ⚠️  Action 'update_page': parameter 'image_url' is optional in schema but accessed with inputs["image_url"] (will raise KeyError if not provided)
   ⚠️  Action 'list_tables': parameter 'page_token' is optional in schema but accessed with inputs["page_token"] (will raise KeyError if not provided)
   ⚠️  Action 'list_tables': parameter 'limit' is optional in schema but accessed with inputs["limit"] (will raise KeyError if not provided)
   ⚠️  Action 'list_tables': parameter 'table_types' is optional in schema but accessed with inputs["table_types"] (will raise KeyError if not provided)
   ⚠️  Action 'list_tables': parameter 'sort_by' is optional in schema but accessed with inputs["sort_by"] (will raise KeyError if not provided)
   ⚠️  Action 'list_columns': parameter 'visible_only' is optional in schema but accessed with inputs["visible_only"] (will raise KeyError if not provided)
   ⚠️  Action 'list_columns': parameter 'page_token' is optional in schema but accessed with inputs["page_token"] (will raise KeyError if not provided)
   ⚠️  Action 'list_columns': parameter 'limit' is optional in schema but accessed with inputs["limit"] (will raise KeyError if not provided)
   ⚠️  Action 'list_rows': parameter 'query' is optional in schema but accessed with inputs["query"] (will raise KeyError if not provided)
   ⚠️  Action 'list_rows': parameter 'use_column_names' is optional in schema but accessed with inputs["use_column_names"] (will raise KeyError if not provided)
   ⚠️  Action 'list_rows': parameter 'visible_only' is optional in schema but accessed with inputs["visible_only"] (will raise KeyError if not provided)
   ⚠️  Action 'list_rows': parameter 'sort_by' is optional in schema but accessed with inputs["sort_by"] (will raise KeyError if not provided)
   ⚠️  Action 'list_rows': parameter 'value_format' is optional in schema but accessed with inputs["value_format"] (will raise KeyError if not provided)
   ⚠️  Action 'list_rows': parameter 'limit' is optional in schema but accessed with inputs["limit"] (will raise KeyError if not provided)
   ⚠️  Action 'list_rows': parameter 'page_token' is optional in schema but accessed with inputs["page_token"] (will raise KeyError if not provided)
   ⚠️  Action 'get_row': parameter 'value_format' is optional in schema but accessed with inputs["value_format"] (will raise KeyError if not provided)
   ⚠️  Action 'get_row': parameter 'use_column_names' is optional in schema but accessed with inputs["use_column_names"] (will raise KeyError if not provided)
   ⚠️  Action 'upsert_rows': parameter 'disable_parsing' is optional in schema but accessed with inputs["disable_parsing"] (will raise KeyError if not provided)
   ⚠️  Action 'upsert_rows': parameter 'key_columns' is optional in schema but accessed with inputs["key_columns"] (will raise KeyError if not provided)
   ⚠️  Action 'update_row': parameter 'disable_parsing' is optional in schema but accessed with inputs["disable_parsing"] (will raise KeyError if not provided)
   ✅ Config-code sync OK

----------------------------------------
Checking: companies-register
----------------------------------------

📦 Installing dependencies...

🐍 Checking Python syntax...
   ✅ Syntax OK

📥 Checking imports...
   ✅ Imports OK

📄 Checking JSON files...
   ✅ JSON files OK

🔍 Linting with ruff...
   ✅ Lint OK

🎨 Checking formatting with ruff...
   ✅ Formatting OK

🔒 Scanning for security issues with bandit...
   ✅ Security OK

🛡️ Checking dependencies for vulnerabilities with pip-audit...
   ✅ Dependencies OK

🔗 Checking config-code sync...
   ✅ Config-code sync OK

----------------------------------------
Checking: fathom
----------------------------------------

📦 Installing dependencies...

🐍 Checking Python syntax...
   ✅ Syntax OK

📥 Checking imports...
   ✅ Imports OK

📄 Checking JSON files...
   ✅ JSON files OK

🔍 Linting with ruff...
   ✅ Lint OK

🎨 Checking formatting with ruff...
   ✅ Formatting OK

🔒 Scanning for security issues with bandit...
   ✅ Security OK

🛡️ Checking dependencies for vulnerabilities with pip-audit...
   ✅ Dependencies OK

🔗 Checking config-code sync...
   ✅ Config-code sync OK

----------------------------------------
Checking: ghost
----------------------------------------

📦 Installing dependencies...

🐍 Checking Python syntax...
   ✅ Syntax OK

📥 Checking imports...
   ✅ Imports OK

📄 Checking JSON files...
   ✅ JSON files OK

🔍 Linting with ruff...
   ✅ Lint OK

🎨 Checking formatting with ruff...
   ✅ Formatting OK

🔒 Scanning for security issues with bandit...
   ✅ Security OK

🛡️ Checking dependencies for vulnerabilities with pip-audit...
   ✅ Dependencies OK

🔗 Checking config-code sync...
   ⚠️  Action 'get_posts': parameter 'include' defined in input_schema but never accessed in code
   ⚠️  Action 'get_posts': parameter 'page' defined in input_schema but never accessed in code
   ⚠️  Action 'get_posts': parameter 'filter' defined in input_schema but never accessed in code
   ⚠️  Action 'get_posts': parameter 'limit' defined in input_schema but never accessed in code
   ⚠️  Action 'get_pages': parameter 'page' defined in input_schema but never accessed in code
   ⚠️  Action 'get_pages': parameter 'filter' defined in input_schema but never accessed in code
   ⚠️  Action 'get_pages': parameter 'limit' defined in input_schema but never accessed in code
   ⚠️  Action 'get_tags': parameter 'page' defined in input_schema but never accessed in code
   ⚠️  Action 'get_tags': parameter 'filter' defined in input_schema but never accessed in code
   ⚠️  Action 'get_tags': parameter 'limit' defined in input_schema but never accessed in code
   ⚠️  Action 'get_authors': parameter 'page' defined in input_schema but never accessed in code
   ⚠️  Action 'get_authors': parameter 'limit' defined in input_schema but never accessed in code
   ⚠️  Action 'create_post': parameter 'lexical' defined in input_schema but never accessed in code
   ⚠️  Action 'create_post': parameter 'tags' defined in input_schema but never accessed in code
   ⚠️  Action 'create_post': parameter 'excerpt' defined in input_schema but never accessed in code
   ⚠️  Action 'create_post': parameter 'authors' defined in input_schema but never accessed in code
   ⚠️  Action 'create_post': parameter 'status' defined in input_schema but never accessed in code
   ⚠️  Action 'create_post': parameter 'feature_image' defined in input_schema but never accessed in code
   ⚠️  Action 'update_post': parameter 'lexical' defined in input_schema but never accessed in code
   ⚠️  Action 'update_post': parameter 'tags' defined in input_schema but never accessed in code
   ⚠️  Action 'update_post': parameter 'excerpt' defined in input_schema but never accessed in code
   ⚠️  Action 'update_post': parameter 'authors' defined in input_schema but never accessed in code
   ⚠️  Action 'update_post': parameter 'status' defined in input_schema but never accessed in code
   ⚠️  Action 'update_post': parameter 'title' defined in input_schema but never accessed in code
   ⚠️  Action 'update_post': parameter 'feature_image' defined in input_schema but never accessed in code
   ⚠️  Action 'create_page': parameter 'status' defined in input_schema but never accessed in code
   ⚠️  Action 'create_page': parameter 'lexical' defined in input_schema but never accessed in code
   ⚠️  Action 'create_member': parameter 'note' defined in input_schema but never accessed in code
   ⚠️  Action 'create_member': parameter 'newsletters' defined in input_schema but never accessed in code
   ⚠️  Action 'create_member': parameter 'labels' defined in input_schema but never accessed in code
   ⚠️  Action 'create_member': parameter 'name' defined in input_schema but never accessed in code
   ⚠️  Action 'update_member': parameter 'newsletters' defined in input_schema but never accessed in code
   ⚠️  Action 'update_member': parameter 'note' defined in input_schema but never accessed in code
   ⚠️  Action 'update_member': parameter 'name' defined in input_schema but never accessed in code
   ⚠️  Action 'update_member': parameter 'email' defined in input_schema but never accessed in code
   ⚠️  Action 'update_member': parameter 'labels' defined in input_schema but never accessed in code
   ✅ Config-code sync OK

----------------------------------------
Checking: jira
----------------------------------------

📦 Installing dependencies...

🐍 Checking Python syntax...
   ✅ Syntax OK

📥 Checking imports...
   ✅ Imports OK

📄 Checking JSON files...
   ✅ JSON files OK

🔍 Linting with ruff...
   ✅ Lint OK

🎨 Checking formatting with ruff...
   ✅ Formatting OK

🔒 Scanning for security issues with bandit...
   ✅ Security OK

🛡️ Checking dependencies for vulnerabilities with pip-audit...
   ✅ Dependencies OK

🔗 Checking config-code sync...
   ✅ Config-code sync OK

========================================
✅ CODE CHECK PASSED
========================================
✅ README Check output
========================================
✅ README CHECK PASSED
========================================

…tions (#199)

* fix: lint, formatting, and security warnings across validated integrations

- Run ruff format on canva, coda, companies-register, fathom, jira
- Run ruff check --fix to remove unused imports and fix f-strings
- Remove unused response assignments in canva (F841)
- Add nosec B105 to test placeholder credentials (canva, coda, companies-register)
- Add missing __init__.py for coda
- Pin SDK version in requirements.txt for canva and coda

* ci: add workflow_dispatch trigger to validation workflow

* fix: reformat with CI ruff config (line-length=120, target py313)

The previous format pass used local ruff defaults (line-length=88).
CI uses the tooling repo's ruff.toml with line-length=120.
Also fix 3 E501 long lines in companies-register tests.

* docs: update coda README entry to satisfy new-file check

The added coda/__init__.py triggers the README checker which requires
README.md to be modified when new files are added to an integration.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants