> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Sumble: Teams

> Search or look up teams inside companies, such as a company's data or engineering team, with the fields you choose. Includes SDK V2 examples, schemas, and cost.

Search or look up teams inside companies, such as a company's data or engineering team, with the fields you choose.

> [!NOTE]
>
> Tool ID: `sumble_teams`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'sumble_teams',
  {
    "select": {
      "attributes": [],
      "related_people": {
        "attributes": [],
        "max_per_team": 10
      },
      "job_posts": {
        "components": [],
        "max_per_team": 10,
        "since": "example"
      }
    }
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute sumble_teams --input '{
  "select": {
    "attributes": [],
    "related_people": {
      "attributes": [],
      "max_per_team": 10
    },
    "job_posts": {
      "components": [],
      "max_per_team": 10,
      "since": "example"
    }
  }
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "id": "123e4567-e89b-42d3-a456-426614174000",
    "teams": [
      {
        "input": 1,
        "team_id": 1,
        "name": "Example"
      }
    ],
    "total": 123
  }
}
```

Use `deepline describe sumble_teams --json` for the latest machine-readable contract.

## Input reference

Unified teams endpoint

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.teams` | `array` | No | — | List of Sumble team ids to retrieve and enrich. One result row per entry, in input order. Mutually exclusive with `filter`. Minimum items: 1. Maximum items: 1000. |
| `payload.filter` | `object` | No | — | Query selecting the teams to return. Mutually exclusive with `teams`. |
| `payload.select` | `object` | Yes | — | — |
| `payload.limit` | `integer` | No | `10` | Maximum number of teams to return (filter mode only. ignored when `teams` is provided). Minimum: 1. Maximum: 200. |
| `payload.offset` | `integer` | No | `0` | Number of results to skip (filter mode only. ignored when `teams` is provided). Minimum: 0. Maximum: 10000. |
| `payload.order_by_column` | `"jobs_count" \| "first_activity" \| "last_activity" \| "score"` | No | — | Column to order by (filter mode only): `jobs_count`, `first_activity` or `last_activity`. Default: jobs\_count. Allowed: `jobs_count`, `first_activity`, `last_activity`, `score`. |
| `payload.order_by_direction` | `"ASC" \| "DESC"` | No | — | Sort direction. DESC when omitted. Allowed: `ASC`, `DESC`. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Unified teams endpoint",
    "properties": {
      "teams": {
        "type": [
          "array",
          "null"
        ],
        "description": "List of Sumble team ids to retrieve and enrich. One result row per entry, in input order. Mutually exclusive with `filter`.",
        "minItems": 1,
        "maxItems": 1000,
        "items": {
          "type": "integer"
        }
      },
      "filter": {
        "type": [
          "object",
          "null"
        ],
        "description": "Query selecting the teams to return. Mutually exclusive with `teams`.",
        "properties": {
          "organization_ids": {
            "type": "array",
            "description": "Sumble organization ids to search within. Teams are returned for these organizations only — no parent/subsidiary roll-up. Unknown ids simply match no teams.",
            "minItems": 1,
            "maxItems": 1000,
            "items": {
              "type": "integer"
            }
          },
          "query": {
            "type": [
              "object",
              "null"
            ],
            "description": "Advanced query narrowing the teams returned (technologies, technology categories, job functions, hiring period).",
            "properties": {
              "query": {
                "type": "string"
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          },
          "since": {
            "type": [
              "string",
              "null"
            ],
            "description": "Only count activity (jobs_count, first/last activity) on or after this date (YYYY-MM-DD). Does not affect the aggregated technology / job-function / location lists, which are all-time."
          }
        },
        "required": [
          "organization_ids"
        ],
        "additionalProperties": false
      },
      "select": {
        "type": "object",
        "properties": {
          "attributes": {
            "description": "Team attributes to include, or 'all' for every available attribute. Off by default. 'all' includes `score` only when it is available (an ICP configured for your account) — otherwise it is skipped, not an error. Note that 'all' grows — and its cost grows — as new attributes are added to the endpoint.",
            "default": [],
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "organization",
                    "breadcrumbs",
                    "jobs_count",
                    "technology_list",
                    "job_function_list",
                    "location_list",
                    "first_activity",
                    "last_activity",
                    "score"
                  ]
                }
              },
              {
                "type": "string",
                "const": "all"
              }
            ]
          },
          "related_people": {
            "type": [
              "object",
              "null"
            ],
            "description": "Also return the people associated with each team, with a person-team match score. Available in both modes. Each related person returned costs 1 credit.",
            "properties": {
              "attributes": {
                "description": "Person-level attributes to include for each related person, or 'all' for every attribute available here. Contact attributes (email, phone) and `person_score` are not available here; `confidence` (the person-team match score breakdown) is only available here.",
                "default": [],
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "name",
                        "email",
                        "phone",
                        "linkedin_url",
                        "job_title",
                        "job_function",
                        "job_level",
                        "location",
                        "country",
                        "current_employer",
                        "technologies",
                        "person_score",
                        "confidence"
                      ]
                    }
                  },
                  {
                    "type": "string",
                    "const": "all"
                  }
                ]
              },
              "max_per_team": {
                "type": "integer",
                "description": "Maximum related people returned per team.",
                "default": 10,
                "minimum": 1,
                "maximum": 100
              }
            },
            "additionalProperties": false
          },
          "job_posts": {
            "type": [
              "object",
              "null"
            ],
            "description": "Also return the job postings mentioning each team, with composable job components. Each job posting returned costs 1 credit.",
            "properties": {
              "components": {
                "description": "Job components to return per posting, or 'all' for every available component. Mirrors the unified jobs endpoint: `job_details` (title, location, posted date), `technologies`, `job_functions`, `job_level`. Never includes the full description (fetch that from the jobs endpoint with the returned job ids).",
                "default": [],
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "job_details",
                        "technologies",
                        "job_functions",
                        "job_level"
                      ]
                    }
                  },
                  {
                    "type": "string",
                    "const": "all"
                  }
                ]
              },
              "max_per_team": {
                "type": "integer",
                "description": "Maximum job postings returned per team.",
                "default": 10,
                "minimum": 1,
                "maximum": 100
              },
              "since": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Only return job postings pulled on or after this date (YYYY-MM-DD)."
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "limit": {
        "type": "integer",
        "description": "Maximum number of teams to return (filter mode only; ignored when `teams` is provided).",
        "default": 10,
        "minimum": 1,
        "maximum": 200
      },
      "offset": {
        "type": "integer",
        "description": "Number of results to skip (filter mode only; ignored when `teams` is provided).",
        "default": 0,
        "minimum": 0,
        "maximum": 10000
      },
      "order_by_column": {
        "type": [
          "string",
          "null"
        ],
        "description": "Column to order by (filter mode only): `jobs_count`, `first_activity` or `last_activity`. Default: jobs_count.",
        "enum": [
          "jobs_count",
          "first_activity",
          "last_activity",
          "score"
        ]
      },
      "order_by_direction": {
        "type": [
          "string",
          "null"
        ],
        "description": "Sort direction; DESC when omitted.",
        "enum": [
          "ASC",
          "DESC"
        ]
      }
    },
    "required": [
      "select"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.id` | `string` | Yes | — | Format: `uuid`. |
| `result.data.teams` | `array` | Yes | — | — |
| `result.data.teams[].input` | `integer \| null` | No | — | The input team id this row corresponds to (list mode only). |
| `result.data.teams[].team_id` | `integer \| null` | No | — | Absent when the input id didn't match a Sumble team. |
| `result.data.teams[].name` | `string \| null` | No | — | — |
| `result.data.teams[].sumble_url` | `string \| null` | No | — | Link to the team's Sumble page. Format: `uri`. Minimum length: 1. Maximum length: 2083. |
| `result.data.teams[].attributes` | `object \| null` | No | — | The requested team attributes. absent when none are requested. |
| `result.data.teams[].attributes.organization` | `object \| null` | No | — | — |
| `result.data.teams[].attributes.organization.organization_id` | `integer` | Yes | — | — |
| `result.data.teams[].attributes.organization.name` | `string \| null` | No | — | — |
| `result.data.teams[].attributes.organization.sumble_url` | `string \| null` | No | — | Link to the organization's Sumble profile page. Format: `uri`. Minimum length: 1. Maximum length: 2083. |
| `result.data.teams[].attributes.breadcrumbs` | `array \| null` | No | — | Parent-team chain from the root to this team. |
| `result.data.teams[].attributes.breadcrumbs[].team_id` | `integer \| null` | No | — | — |
| `result.data.teams[].attributes.breadcrumbs[].name` | `string` | Yes | — | — |
| `result.data.teams[].attributes.breadcrumbs[].slug` | `string \| null` | No | — | — |
| `result.data.teams[].attributes.breadcrumbs[].sumble_url` | `string \| null` | No | — | Link to the ancestor team's Sumble page. Format: `uri`. Minimum length: 1. Maximum length: 2083. |
| `result.data.teams[].attributes.jobs_count` | `integer \| null` | No | — | — |
| `result.data.teams[].attributes.technology_list` | `array \| null` | No | — | Technologies the team uses, aggregated from its job postings (all-time). |
| `result.data.teams[].attributes.technology_list[].name` | `string` | Yes | — | — |
| `result.data.teams[].attributes.technology_list[].slug` | `string` | Yes | — | — |
| `result.data.teams[].attributes.technology_list[].used` | `boolean` | No | `false` | True when the team's postings indicate the technology is used, not merely mentioned. |
| `result.data.teams[].attributes.technology_list[].jobs_count` | `integer \| null` | No | — | Job postings mentioning this technology for the team. |
| `result.data.teams[].attributes.job_function_list` | `array \| null` | No | — | Job functions the team hires for, aggregated from its job postings (all-time). |
| `result.data.teams[].attributes.job_function_list[].name` | `string` | Yes | — | — |
| `result.data.teams[].attributes.job_function_list[].slug` | `string` | Yes | — | — |
| `result.data.teams[].attributes.job_function_list[].jobs_count` | `integer \| null` | No | — | Job postings hiring for this job function for the team. |
| `result.data.teams[].attributes.location_list` | `array \| null` | No | — | Locations where the team operates, derived from its job postings (all-time). |
| `result.data.teams[].attributes.location_list[].name` | `string` | Yes | — | — |
| `result.data.teams[].attributes.location_list[].jobs_count` | `integer \| null` | No | — | Job postings for the team in this location. |
| `result.data.teams[].attributes.first_activity` | `string \| null` | No | — | Earliest job posting mentioning the team. Format: `date-time`. |
| `result.data.teams[].attributes.last_activity` | `string \| null` | No | — | Latest job posting mentioning the team. Format: `date-time`. |
| `result.data.teams[].attributes.score` | `object \| null` | No | — | Sumble team score against your ICP, 0-100. Returned only when an ICP is configured for your account (`attributes: "all"` skips it otherwise instead of erroring). |
| `result.data.teams[].attributes.score.value` | `number` | Yes | — | How well the team matches your ideal customer profile (ICP), 0-100. |
| `result.data.teams[].attributes.score.fit` | `string \| null` | No | — | Qualitative fit bucket (e.g. 'Great', 'Good', 'Possible'). |
| `result.data.teams[].attributes.score.components` | `array` | No | `[]` | The matched features behind the score, highest contribution first. |
| `result.data.teams[].attributes.score.components[].name` | `string \| null` | No | — | — |
| `result.data.teams[].attributes.score.components[].slug` | `string \| null` | No | — | — |
| `result.data.teams[].attributes.score.components[].match_type` | `string` | Yes | — | — |
| `result.data.teams[].attributes.score.components[].contribution` | `number` | Yes | — | Points of the 0-100 score attributable to this feature. |
| `result.data.teams[].related_people` | `array \| null` | No | — | People associated with the team. Present (possibly empty) when `select.related_people` is requested and the team matched. absent otherwise. |
| `result.data.teams[].related_people[].person_id` | `integer` | Yes | — | — |
| `result.data.teams[].related_people[].sumble_url` | `string` | Yes | — | Link to the person's Sumble profile page. Format: `uri`. Minimum length: 1. Maximum length: 2083. |
| `result.data.teams[].related_people[].confidence` | `object \| null` | No | — | Why this person was returned: person-team match score with a per-feature breakdown. Present when the `confidence` attribute is requested. |
| `result.data.teams[].related_people[].confidence.score` | `number` | Yes | — | How strongly this person relates to the team, based on shared team, job-function, technology, location and title-embedding signals. Unrelated to the ICP-based team `score` attribute. |
| `result.data.teams[].related_people[].confidence.matched_features` | `array` | No | `[]` | The specific matched features behind the score. |
| `result.data.teams[].related_people[].confidence.matched_features[].match_type` | `"team" \| "job_function" \| "technology" \| "location" \| "embedding"` | Yes | — | Allowed: `team`, `job_function`, `technology`, `location`, `embedding`. |
| `result.data.teams[].related_people[].confidence.matched_features[].name` | `string \| null` | No | — | — |
| `result.data.teams[].related_people[].confidence.matched_features[].slug` | `string \| null` | No | — | — |
| `result.data.teams[].related_people[].confidence.matched_features[].is_parent` | `boolean` | No | `false` | — |

The table shows the first 50 fields. Use the live contract below for every field.

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe sumble_teams --json`.

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Sumble provider guide](https://deepline.com/docs/providers/sumble/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.