{
  "service": "woodpecker_co",
  "displayName": "Woodpecker.co",
  "categories": [
    "Communication",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "WOODPECKER_API_KEY",
      "description": "Woodpecker.co API key sent in the x-api-key header. Create it from Add-ons > API & Integrations > API keys or open the official API keys view: https://app.woodpecker.co/panel#add-ons/integrations/api-keys"
    }
  ],
  "homepageUrl": "https://woodpecker.co/",
  "actions": [
    {
      "id": "woodpecker_co.get_campaign",
      "service": "woodpecker_co",
      "name": "get_campaign",
      "description": "Get Woodpecker campaign settings and content by campaign ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Woodpecker campaign ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "campaign_id"
        ],
        "description": "The input payload for getting one Woodpecker campaign."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "campaign": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Woodpecker campaign ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The campaign name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The campaign status."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Woodpecker."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Woodpecker campaign."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when getting one Woodpecker campaign."
      }
    },
    {
      "id": "woodpecker_co.get_campaign_statistics",
      "service": "woodpecker_co",
      "name": "get_campaign_statistics",
      "description": "Get Woodpecker statistics for one campaign by campaign ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Woodpecker campaign ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "campaign_id"
        ],
        "description": "The input payload for getting Woodpecker campaign statistics."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "statistics": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The campaign statistics object returned by Woodpecker."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Woodpecker."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when getting Woodpecker campaign statistics."
      }
    },
    {
      "id": "woodpecker_co.get_mailbox",
      "service": "woodpecker_co",
      "name": "get_mailbox",
      "description": "Get one Woodpecker mailbox by mailbox configuration ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "mailbox_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Woodpecker mailbox configuration ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "mailbox_id"
        ],
        "description": "The input payload for getting one Woodpecker mailbox."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "mailbox": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Woodpecker mailbox configuration ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The mailbox configuration type, such as SMTP or IMAP."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "email": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The mailbox email address."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "provider": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The email provider name returned by Woodpecker."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "login": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The mailbox login returned by Woodpecker."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Woodpecker mailbox details object."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Woodpecker."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Woodpecker mailbox."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when getting one Woodpecker mailbox."
      }
    },
    {
      "id": "woodpecker_co.list_campaigns",
      "service": "woodpecker_co",
      "name": "list_campaigns",
      "description": "List Woodpecker campaigns, optionally filtered by campaign status.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "RUNNING",
              "DRAFT",
              "STOPPED",
              "PAUSED",
              "EDITED",
              "COMPLETED"
            ],
            "description": "The campaign status to filter by."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Woodpecker campaigns."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "campaigns": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Woodpecker campaign ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The campaign name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The campaign status."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Woodpecker."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Woodpecker campaign."
            },
            "description": "The campaigns returned by Woodpecker."
          },
          "raw": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Woodpecker."
                },
                "description": "The raw objects returned by Woodpecker."
              },
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Woodpecker."
              }
            ],
            "description": "The raw list payload returned by a Woodpecker v1 endpoint."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Woodpecker campaigns."
      }
    },
    {
      "id": "woodpecker_co.list_mailboxes",
      "service": "woodpecker_co",
      "name": "list_mailboxes",
      "description": "List Woodpecker mailboxes connected to the authenticated account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for listing Woodpecker mailboxes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "mailboxes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Woodpecker mailbox configuration ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The mailbox configuration type, such as SMTP or IMAP."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "email": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The mailbox email address."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "provider": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The email provider name returned by Woodpecker."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "login": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The mailbox login returned by Woodpecker."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "details": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Woodpecker mailbox details object."
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Woodpecker."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Woodpecker mailbox."
            },
            "description": "The mailboxes returned by Woodpecker."
          },
          "raw": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by Woodpecker."
            },
            "description": "The raw mailbox objects returned by Woodpecker."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Woodpecker mailboxes."
      }
    },
    {
      "id": "woodpecker_co.list_prospects",
      "service": "woodpecker_co",
      "name": "list_prospects",
      "description": "List prospects from the Woodpecker prospect database with optional filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The one-based results page to request."
          },
          "per_page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "The number of prospects per page, up to 1000."
          },
          "sort": {
            "type": "string",
            "minLength": 1,
            "description": "The prospects sort expression, such as +company."
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "One Woodpecker prospect ID."
            },
            "description": "The Woodpecker prospect IDs to request; the connector serializes them for the official id filter.",
            "minItems": 1
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "BOUNCED",
              "REPLIED",
              "BLACKLIST",
              "INVALID"
            ],
            "description": "The global prospect status to filter by."
          },
          "contacted": {
            "type": "boolean",
            "description": "Whether to return prospects that have ever been contacted."
          },
          "interested": {
            "type": "string",
            "enum": [
              "INTERESTED",
              "MAYBE-LATER",
              "NOT-INTERESTED",
              "NOT-MARKED"
            ],
            "description": "The campaign interest level to filter prospects by."
          },
          "activity": {
            "type": "string",
            "enum": [
              "OPENED",
              "NOT-OPENED",
              "CLICKED",
              "NOT-CLICKED"
            ],
            "description": "The prospect activity filter."
          },
          "diff": {
            "type": "string",
            "minLength": 1,
            "description": "The Woodpecker diff expression, such as activity>2026-01-15 08:00:00; URL encoding is handled by the connector."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Woodpecker prospects."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "prospects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Woodpecker prospect ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "email": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The prospect email address."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The prospect global status."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "first_name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The prospect first name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "last_name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The prospect last name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Woodpecker."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Woodpecker prospect."
            },
            "description": "The prospects returned by Woodpecker."
          },
          "raw": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Woodpecker."
                },
                "description": "The raw objects returned by Woodpecker."
              },
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Woodpecker."
              }
            ],
            "description": "The raw list payload returned by a Woodpecker v1 endpoint."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Woodpecker prospects."
      }
    },
    {
      "id": "woodpecker_co.list_users",
      "service": "woodpecker_co",
      "name": "list_users",
      "description": "List active Woodpecker users in the authenticated account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based results page to request."
          },
          "sort": {
            "type": "string",
            "enum": [
              "+id",
              "-id"
            ],
            "description": "The user sort order supported by Woodpecker."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Woodpecker users."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Woodpecker user ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The user's full name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "email": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The user's email address."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "role": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The user's role in the account."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Woodpecker."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Woodpecker user."
            },
            "description": "The users returned by Woodpecker."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "total_elements": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of matching elements."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "total_pages": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of result pages."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "current_page_number": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The current page number returned by Woodpecker."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "page_size": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The maximum number of items in the page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "Woodpecker pagination metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Woodpecker."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Woodpecker users."
      }
    }
  ]
}
