Skip to content

Conversation

cubic-dev-local[bot]
Copy link

## Description

Created an integration for Gophish which is an Open-Source Phishing Framework.
Created all commands and documented that are in the API Docs: https://docs.getgophish.com/api-documentation/

List of Commands:

Namespace Function Secrets
tools.gophish create_campaign gophish
tools.gophish create_group gophish
tools.gophish create_landing_page gophish
tools.gophish create_sending_profile gophish
tools.gophish create_template gophish
tools.gophish delete_campaign gophish
tools.gophish delete_group gophish
tools.gophish delete_landing_page gophish
tools.gophish delete_sending_profile gophish
tools.gophish delete_template gophish
tools.gophish get_campaign gophish
tools.gophish get_campaign_results gophish
tools.gophish get_campaign_summary gophish
tools.gophish get_group gophish
tools.gophish get_group_summary gophish
tools.gophish get_landing_page gophish
tools.gophish get_sending_profile gophish
tools.gophish get_template gophish
tools.gophish list_campaigns gophish
tools.gophish list_groups gophish
tools.gophish list_groups_summary gophish
tools.gophish list_landing_pages gophish
tools.gophish list_sending_profiles gophish
tools.gophish list_templates gophish
tools.gophish modify_group gophish
tools.gophish modify_landing_page gophish
tools.gophish modify_sending_profile gophish
tools.gophish modify_template gophish

Screenshots / Recordings

image

Steps to QA

Run the following Workflow:
testing-gophish.yaml


Summary by cubic

Adds a full Gophish integration to manage campaigns, groups, landing pages, sending profiles, and templates. Also updates docs and adds a Gophish icon.

  • New Features

    • tools.gophish: CRUD for campaigns, groups, landing pages, sending profiles, and templates; plus campaign results and summary.
    • list_campaigns returns only id and name to avoid oversized responses.
    • Docs: added integration commands and the gophish secret (GOPHISH_API_KEY).
    • UI: added a Gophish icon.
  • Migration

    • Add a gophish secret with GOPHISH_API_KEY.
    • Use your Gophish base_url for all actions.
    • Optional: run testing-gophish.yaml to verify.
---

Based on: TracecatHQ/tracecat#1444

Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4 issues found across 3 files

Prompt for AI agents (all 4 issues)

Understand the root cause of the following 4 issues and fix them.


<file name="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml">

<violation number="1" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml:6">
doc_url anchor references listing campaigns instead of campaign results; link likely misleading.</violation>
</file>

<file name="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml">

<violation number="1" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml:21">
Remove trailing slash from the endpoint to align with other Gophish commands and avoid potential redirects.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Low-impact style/consistency issue; trailing slash unlikely to cause functional problems or meaningful redirects. Not worth reporting per guidelines.</violation>

<violation number="2" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml:26">
Fix typo in comment: replace &quot;exeed&quot; with &quot;exceed&quot; (twice) for clarity.</violation>
</file>

<file name="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign.yml">

<violation number="1" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign.yml:6">
doc_url points to the list endpoint section (&quot;get-campaigns&quot;) instead of the single campaign action. Link to the campaigns page root or the correct anchor for single campaign.</violation>
</file>

React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai to give feedback, ask questions, or re-run the review.

title: Get campaign results
description: Get a campaign's results from Gophish.
display_group: Gophish
doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doc_url anchor references listing campaigns instead of campaign results; link likely misleading.

Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml at line 6:

<comment>doc_url anchor references listing campaigns instead of campaign results; link likely misleading.</comment>

<file context>
@@ -0,0 +1,29 @@
+  title: Get campaign results
+  description: Get a campaign&#39;s results from Gophish.
+  display_group: Gophish
+  doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns
+  namespace: tools.gophish
+  name: get_campaign_results
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

headers:
Authorization: Bearer ${{ SECRETS.gophish.GOPHISH_API_KEY }}

# This is needed because the API will return results and timelines for all campaigns. This can exeed the max size of workflow data steps very easily. For example a campaign with 1,000 recipients will return 11,000 lines of just results, in addition to the at least 1000 timeline items which are each another 8 lines of data. Very quickly this can exeed the max size of workflow data steps.
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix typo in comment: replace "exeed" with "exceed" (twice) for clarity.

Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml at line 26:

<comment>Fix typo in comment: replace &quot;exeed&quot; with &quot;exceed&quot; (twice) for clarity.</comment>

<file context>
@@ -0,0 +1,38 @@
+        headers:
+          Authorization: Bearer ${{ SECRETS.gophish.GOPHISH_API_KEY }}
+
+    # This is needed because the API will return results and timelines for all campaigns. This can exeed the max size of workflow data steps very easily. For example a campaign with 1,000 recipients will return 11,000 lines of just results, in addition to the at least 1000 timeline items which are each another 8 lines of data. Very quickly this can exeed the max size of workflow data steps.
+    - ref: parse_campaigns_list
+      action: core.script.run_python
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

- ref: list_campaigns
action: core.http_request
args:
url: ${{ inputs.base_url }}/api/campaigns/
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove trailing slash from the endpoint to align with other Gophish commands and avoid potential redirects.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Low-impact style/consistency issue; trailing slash unlikely to cause functional problems or meaningful redirects. Not worth reporting per guidelines.

Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml at line 21:

<comment>Remove trailing slash from the endpoint to align with other Gophish commands and avoid potential redirects.

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Low-impact style/consistency issue; trailing slash unlikely to cause functional problems or meaningful redirects. Not worth reporting per guidelines.</comment>

<file context>
@@ -0,0 +1,38 @@
+    - ref: list_campaigns
+      action: core.http_request
+      args:
+        url: ${{ inputs.base_url }}/api/campaigns/
+        method: GET
+        headers:
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

title: Get campaign
description: Get a campaign from Gophish.
display_group: Gophish
doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns
Copy link

@cubic-dev-ai cubic-dev-ai bot Sep 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doc_url points to the list endpoint section ("get-campaigns") instead of the single campaign action. Link to the campaigns page root or the correct anchor for single campaign.

Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign.yml at line 6:

<comment>doc_url points to the list endpoint section (&quot;get-campaigns&quot;) instead of the single campaign action. Link to the campaigns page root or the correct anchor for single campaign.</comment>

<file context>
@@ -0,0 +1,29 @@
+  title: Get campaign
+  description: Get a campaign from Gophish.
+  display_group: Gophish
+  doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns
+  namespace: tools.gophish
+  name: get_campaign
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

Copy link

@cubic-staging cubic-staging bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 issues found across 3 files

Prompt for AI agents (all 3 issues)

Understand the root cause of the following 3 issues and fix them.


<file name="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml">

<violation number="1" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml:6">
doc_url points to the &quot;get-campaigns&quot; (list campaigns) section, but this action retrieves campaign results; link is likely incorrect.</violation>
</file>

<file name="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml">

<violation number="1" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml:26">
Typo in comment: &quot;exeed&quot; should be &quot;exceed&quot; (appears twice on this line).</violation>

<violation number="2" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml:35">
Trailing whitespace at end of line. Remove to adhere to style and avoid noisy diffs.

*DEV MODE: This violation would have been filtered out by screening filters. Failing filters: functionalImpact.*

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Minor formatting-only issue; negligible impact. Filter out.</violation>
</file>

React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai to give feedback, ask questions, or re-run the review.

title: Get campaign results
description: Get a campaign's results from Gophish.
display_group: Gophish
doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns
Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doc_url points to the "get-campaigns" (list campaigns) section, but this action retrieves campaign results; link is likely incorrect.

Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml at line 6:

<comment>doc_url points to the &quot;get-campaigns&quot; (list campaigns) section, but this action retrieves campaign results; link is likely incorrect.</comment>

<file context>
@@ -0,0 +1,29 @@
+  title: Get campaign results
+  description: Get a campaign&#39;s results from Gophish.
+  display_group: Gophish
+  doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns
+  namespace: tools.gophish
+  name: get_campaign_results
</file context>

[internal] Confidence score: 8/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

headers:
Authorization: Bearer ${{ SECRETS.gophish.GOPHISH_API_KEY }}

# This is needed because the API will return results and timelines for all campaigns. This can exeed the max size of workflow data steps very easily. For example a campaign with 1,000 recipients will return 11,000 lines of just results, in addition to the at least 1000 timeline items which are each another 8 lines of data. Very quickly this can exeed the max size of workflow data steps.
Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in comment: "exeed" should be "exceed" (appears twice on this line).

Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml at line 26:

<comment>Typo in comment: &quot;exeed&quot; should be &quot;exceed&quot; (appears twice on this line).</comment>

<file context>
@@ -0,0 +1,38 @@
+        headers:
+          Authorization: Bearer ${{ SECRETS.gophish.GOPHISH_API_KEY }}
+
+    # This is needed because the API will return results and timelines for all campaigns. This can exeed the max size of workflow data steps very easily. For example a campaign with 1,000 recipients will return 11,000 lines of just results, in addition to the at least 1000 timeline items which are each another 8 lines of data. Very quickly this can exeed the max size of workflow data steps.
+    - ref: parse_campaigns_list
+      action: core.script.run_python
</file context>

[internal] Confidence score: 10/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

script: |
def main(data):
return [
{"id": campaign["id"], "name": campaign["name"]}
Copy link

@cubic-staging cubic-staging bot Sep 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trailing whitespace at end of line. Remove to adhere to style and avoid noisy diffs.

DEV MODE: This violation would have been filtered out by screening filters. Failing filters: functionalImpact.

    DEV MODE: This violation would have been filtered out by GPT-5.

Reasoning:
GPT-5: Minor formatting-only issue; negligible impact. Filter out.

Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml at line 35:

<comment>Trailing whitespace at end of line. Remove to adhere to style and avoid noisy diffs.

*DEV MODE: This violation would have been filtered out by screening filters. Failing filters: functionalImpact.*

        DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Minor formatting-only issue; negligible impact. Filter out.</comment>

<file context>
@@ -0,0 +1,38 @@
+        script: |
+          def main(data):
+            return [
+                {&quot;id&quot;: campaign[&quot;id&quot;], &quot;name&quot;: campaign[&quot;name&quot;]} 
+                for campaign in data
+            ]
</file context>

[internal] Confidence score: 9/10

[internal] Posted by: General AI Review Agent

Fix with Cubic

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.

1 participant