| kind | No | mode=create: "email" provisions the ingest address; default webhook. | |
| mode | No | list/catalog need no ids; others need connection_id or create fields. | |
| label | No | create/configure: human name for the source, e.g. "Freshdesk". | |
| query | No | mode=catalog only: filter by name, category or description. | |
| config | No | mode=create with provider: catalog required_fields. Stored encrypted, never readable again. | |
| toolkit | No | composio_actions / composio_create: Composio app slug (e.g. "freshdesk", "jira"). | |
| provider | No | mode=create: NATIVE provider from catalog native_providers. Pair with config. | |
| pull_tool | No | composio_create, DAILY apps: read-only action from composio_actions. | |
| recipe_id | No | mode=create: catalog recipe id — applies its curated mapping. | |
| json_paths | No | create/configure: dotted paths into the POSTed payload's JSON body. | |
| rate_limit | No | create/configure: max requests per minute accepted. Default 100. | |
| sync_every | No | PULL sources only: cadence. Default daily. | |
| trigger_slug | No | composio_create, INSTANT apps: trigger from composio_catalog. | |
| connection_id | No | Connection id from mode=list; required for configure/pause/resume/sync_now/delete. | |
| pull_arguments | No | composio_create with pull_tool: action arguments. | |
| collection_path | No | composio_create with pull_tool: dotted path to the record array if not inferable. | |
| source_category | No | mode=create with your own mapping: what the payload carries. | |
| skip_attribution | No | mode=create: true for anonymous public-forum sources with no attributable customer. | |