{
  "service": "aimfox",
  "displayName": "Aimfox",
  "categories": [
    "Marketing",
    "Communication"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "aimfox_api_key",
      "description": "Aimfox API key sent with the Authorization Bearer header. Create it from Workspace Settings > Integrations in your Aimfox dashboard: https://docs.aimfox.com/."
    }
  ],
  "homepageUrl": "https://aimfox.com",
  "actions": [
    {
      "id": "aimfox.add_profile_to_campaign",
      "service": "aimfox",
      "name": "add_profile_to_campaign",
      "description": "Add one LinkedIn profile URL to an Aimfox campaign audience.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "string",
            "minLength": 1,
            "description": "The Aimfox campaign ID."
          },
          "profile_url": {
            "type": "string",
            "description": "The LinkedIn profile URL to add to the campaign audience.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "required": [
          "campaign_id",
          "profile_url"
        ],
        "description": "Input for adding a profile to an Aimfox campaign."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The status returned by Aimfox."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The status returned after adding a profile to an Aimfox campaign."
      }
    },
    {
      "id": "aimfox.get_campaign",
      "service": "aimfox",
      "name": "get_campaign",
      "description": "Fetch one Aimfox campaign by campaign ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "string",
            "minLength": 1,
            "description": "The Aimfox campaign ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "campaign_id"
        ],
        "description": "Input for fetching an Aimfox campaign."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The status returned by Aimfox."
              },
              {
                "type": "null"
              }
            ]
          },
          "campaign": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw object returned by Aimfox."
          }
        },
        "additionalProperties": false,
        "description": "The campaign returned by Aimfox."
      }
    },
    {
      "id": "aimfox.get_campaign_metrics",
      "service": "aimfox",
      "name": "get_campaign_metrics",
      "description": "Fetch interaction metrics for one Aimfox campaign.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "string",
            "minLength": 1,
            "description": "The Aimfox campaign ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "campaign_id"
        ],
        "description": "Input for fetching Aimfox campaign metrics."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The status returned by Aimfox."
              },
              {
                "type": "null"
              }
            ]
          },
          "metrics": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw object returned by Aimfox."
          }
        },
        "additionalProperties": false,
        "description": "The campaign metrics returned by Aimfox."
      }
    },
    {
      "id": "aimfox.get_lead",
      "service": "aimfox",
      "name": "get_lead",
      "description": "Fetch one Aimfox lead by lead ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lead_id": {
            "type": "string",
            "minLength": 1,
            "description": "The Aimfox lead ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "lead_id"
        ],
        "description": "Input for fetching an Aimfox lead."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The status returned by Aimfox."
              },
              {
                "type": "null"
              }
            ]
          },
          "lead": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw object returned by Aimfox."
          }
        },
        "additionalProperties": false,
        "description": "The lead returned by Aimfox."
      }
    },
    {
      "id": "aimfox.get_total_leads_count",
      "service": "aimfox",
      "name": "get_total_leads_count",
      "description": "Count Aimfox leads that match the documented lead search filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "string",
            "description": "Keywords to search for in Aimfox leads."
          },
          "current_companies": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "past_companies": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "education": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "interests": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "origins": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "skills": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "lead_of": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "optimize": {
            "type": "boolean",
            "description": "Whether Aimfox should optimize the lead search."
          }
        },
        "additionalProperties": false,
        "description": "Input for counting Aimfox leads."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The status returned by Aimfox."
              },
              {
                "type": "null"
              }
            ]
          },
          "total_leads": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of matching Aimfox leads."
          },
          "sync": {
            "type": "boolean",
            "description": "Whether Aimfox reports the count as synchronized."
          },
          "accounts_sync": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Per-account synchronization flags returned by Aimfox."
          }
        },
        "additionalProperties": false,
        "description": "The total lead count returned by Aimfox."
      }
    },
    {
      "id": "aimfox.list_campaigns",
      "service": "aimfox",
      "name": "list_campaigns",
      "description": "List Aimfox campaigns, optionally filtering by outreach type or profile inserts.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "outreach_type": {
            "type": "string",
            "enum": [
              "inbound",
              "outbound"
            ],
            "description": "The outreach type to filter campaigns by."
          },
          "accepts_profiles": {
            "type": "boolean",
            "description": "Whether to return only campaigns that accept profile inserts."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Aimfox campaigns."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The status returned by Aimfox."
              },
              {
                "type": "null"
              }
            ]
          },
          "campaigns": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw object returned by Aimfox."
            },
            "description": "Raw objects returned by Aimfox."
          }
        },
        "additionalProperties": false,
        "description": "The campaigns returned by Aimfox."
      }
    },
    {
      "id": "aimfox.list_interactions",
      "service": "aimfox",
      "name": "list_interactions",
      "description": "List Aimfox interaction buckets for a timestamp range.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bucket": {
            "type": "string",
            "enum": [
              "1 hour",
              "1 day"
            ],
            "description": "The interval used to group interaction metrics."
          },
          "from": {
            "type": "integer",
            "minimum": 0,
            "description": "The range start timestamp in milliseconds."
          },
          "to": {
            "type": "integer",
            "minimum": 0,
            "description": "The range end timestamp in milliseconds."
          },
          "account_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "An Aimfox account ID."
            },
            "description": "Aimfox account IDs to filter interactions by."
          },
          "campaign_id": {
            "type": "string",
            "minLength": 1,
            "description": "The Aimfox campaign ID to filter interactions by."
          }
        },
        "additionalProperties": false,
        "required": [
          "bucket",
          "from",
          "to"
        ],
        "description": "Input for listing Aimfox interactions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The status returned by Aimfox."
              },
              {
                "type": "null"
              }
            ]
          },
          "count": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of interaction buckets returned by Aimfox."
          },
          "buckets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw object returned by Aimfox."
            },
            "description": "Raw objects returned by Aimfox."
          }
        },
        "additionalProperties": false,
        "description": "The interaction buckets returned by Aimfox."
      }
    },
    {
      "id": "aimfox.list_recent_leads",
      "service": "aimfox",
      "name": "list_recent_leads",
      "description": "List recent Aimfox lead transition events for the workspace.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input for listing Aimfox recent leads."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The status returned by Aimfox."
              },
              {
                "type": "null"
              }
            ]
          },
          "leads": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw object returned by Aimfox."
            },
            "description": "Raw objects returned by Aimfox."
          }
        },
        "additionalProperties": false,
        "description": "The recent lead events returned by Aimfox."
      }
    },
    {
      "id": "aimfox.list_workspace_labels",
      "service": "aimfox",
      "name": "list_workspace_labels",
      "description": "List labels configured in the Aimfox workspace.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input for listing Aimfox workspace labels."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The status returned by Aimfox."
              },
              {
                "type": "null"
              }
            ]
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw object returned by Aimfox."
            },
            "description": "Raw objects returned by Aimfox."
          }
        },
        "additionalProperties": false,
        "description": "The workspace labels returned by Aimfox."
      }
    },
    {
      "id": "aimfox.remove_profile_from_campaign",
      "service": "aimfox",
      "name": "remove_profile_from_campaign",
      "description": "Remove one LinkedIn profile from an Aimfox campaign audience by URN or public ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "string",
            "minLength": 1,
            "description": "The Aimfox campaign ID."
          },
          "urn": {
            "type": "string",
            "minLength": 1,
            "description": "The LinkedIn profile URN or public identifier to remove."
          }
        },
        "additionalProperties": false,
        "required": [
          "campaign_id",
          "urn"
        ],
        "description": "Input for removing a profile from an Aimfox campaign."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The status returned by Aimfox."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The status returned after removing a profile from an Aimfox campaign."
      }
    },
    {
      "id": "aimfox.search_leads",
      "service": "aimfox",
      "name": "search_leads",
      "description": "Search Aimfox leads with documented facet filters and offset pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "string",
            "description": "Keywords to search for in Aimfox leads."
          },
          "current_companies": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "past_companies": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "education": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "interests": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "origins": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "skills": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "lead_of": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A filter value."
            },
            "description": "Filter values for an Aimfox lead search facet."
          },
          "optimize": {
            "type": "boolean",
            "description": "Whether Aimfox should optimize the lead search."
          },
          "start": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based offset for the lead search results."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of lead search results to return."
          }
        },
        "additionalProperties": false,
        "description": "Input for searching Aimfox leads."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The status returned by Aimfox."
              },
              {
                "type": "null"
              }
            ]
          },
          "leads": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw object returned by Aimfox."
            },
            "description": "Raw objects returned by Aimfox."
          }
        },
        "additionalProperties": false,
        "description": "The leads returned by Aimfox search."
      }
    }
  ]
}
