# List trigger providers

> Every trigger provider, or the ones matching a query.

Source: https://docs.generalinput.com/api/triggers/list



<Endpoint method="GET" path="/v1/triggers" />

<Access scope="triggers:manage" />

## Query parameters [#query-parameters]

| Name | Type   | Notes                                          |
| ---- | ------ | ---------------------------------------------- |
| `q`  | string | Optional filter on name, service, description. |

## Response [#response]

```json
{
  "triggers": [
    {
      "type": "webhook",
      "triggerId": "webhook",
      "name": "Webhook",
      "description": "Run the workflow manually from the dashboard or via HTTP POST…",
      "service": "webhook",
      "requiresCredential": false
    },
    {
      "type": "cron",
      "triggerId": "cron",
      "name": "Scheduled (Cron)",
      "description": "Run the workflow on a recurring schedule using cron syntax…",
      "service": "cron",
      "requiresCredential": false
    },
    {
      "type": "poll",
      "triggerId": "gmail-new-email",
      "name": "New Email in Gmail",
      "description": "Triggers when a new email arrives matching the configured filters",
      "service": "gmail",
      "requiresCredential": true,
      "cadenceSeconds": 60
    }
  ]
}
```

| Field                | Type    | Notes                                                               |
| -------------------- | ------- | ------------------------------------------------------------------- |
| `type`               | string  | `webhook`, `cron`, or `poll`.                                       |
| `triggerId`          | string  | Copy into the `triggerId` of a trigger node in `workflow.json`.     |
| `requiresCredential` | boolean | Poll providers that watch a private source need a credential wired. |
| `cadenceSeconds`     | integer | Poll providers only. How often the source is checked.               |

Poll trigger ids read as `<service>-<event>` (`gmail-new-email`, `stripe-new-charge`). A poll trigger also needs its credential and input values set through [update config](/api/workflows/update-config) before it can fire.
