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

# Send people to a destination now

> Sends people right now, one time, like "Send to" in the app. It sends to Slack, Google Sheets, Clay, a webhook, email or an outreach tool. It sends up to 100 people by person_ids, or everyone in a People view (at most 250). It needs a sync first: a view must already sync to that destination (save_sync). Otherwise Ziplined refuses the send. You cannot undo a send, so the first call sends nothing and returns a summary and a confirm_id. Show the summary to the user. Ziplined sends the people when you call again with the same arguments plus confirm_id. Costs no credits.

Use when: The user wants these people, or everyone in a view, sent to a destination right now, just this once. view and destination take names, as the user says them, so the view needs no lookup first. Nothing goes out before the user confirms, and the answer says when a sync is missing.

Do not use for: Sending people automatically as they enter a view from now on (use save_sync instead). Sending LinkedIn messages or connection requests: Ziplined cannot do that.

Example: {"destination":"#leads","view":"Warm leads"}



## OpenAPI

````yaml /openapi.json post /v1/integrations/{id}/send
openapi: 3.1.0
info:
  title: Ziplined API
  version: 1.0.0
  description: >-
    LinkedIn engagement data about people, companies and posts. The workspace
    comes from the credential; lists page with `limit` and `cursor`.
servers:
  - url: https://api.ziplined.io
    description: Production
security: []
tags:
  - name: People
    description: The people in your workspace, and what you sent them.
  - name: Companies
    description: The companies those people work at.
  - name: Posts
    description: Your own posts and their numbers.
  - name: Engagements
    description: One act by one person on one post.
  - name: Insights
    description: Period against period, and the series behind it.
  - name: Views
    description: The saved views of the app, and who is in a hand-picked one.
  - name: Audiences
    description: The scored target groups, and their membership.
  - name: ICP
    description: 'Who you sell to: the rules every person is scored against.'
  - name: Sources
    description: What your radar collects from.
  - name: Account
    description: Who is asking, what is set up, and what is next.
  - name: Credits
    description: What is left to spend on sources, and when it resets.
  - name: Integrations
    description: 'Where syncs send people: webhook, email, Slack and app destinations.'
paths:
  /v1/integrations/{id}/send:
    post:
      tags:
        - Integrations
      summary: Send people to a destination now
      description: >-
        Sends people right now, one time, like "Send to" in the app. It sends to
        Slack, Google Sheets, Clay, a webhook, email or an outreach tool. It
        sends up to 100 people by person_ids, or everyone in a People view (at
        most 250). It needs a sync first: a view must already sync to that
        destination (save_sync). Otherwise Ziplined refuses the send. You cannot
        undo a send, so the first call sends nothing and returns a summary and a
        confirm_id. Show the summary to the user. Ziplined sends the people when
        you call again with the same arguments plus confirm_id. Costs no
        credits.


        Use when: The user wants these people, or everyone in a view, sent to a
        destination right now, just this once. view and destination take names,
        as the user says them, so the view needs no lookup first. Nothing goes
        out before the user confirms, and the answer says when a sync is
        missing.


        Do not use for: Sending people automatically as they enter a view from
        now on (use save_sync instead). Sending LinkedIn messages or connection
        requests: Ziplined cannot do that.


        Example: {"destination":"#leads","view":"Warm leads"}
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 200
            description: Where to send, by name or id from list_destinations.
          required: true
          description: Where to send, by name or id from list_destinations.
          name: id
          in: path
        - schema:
            type: string
            minLength: 1
            maxLength: 255
            description: >-
              Any client-chosen key, a uuid for example. Sending the same
              request twice with the same key has one effect and returns the
              same response twice; the same key with a different body returns
              409.
            example: 3f1b2c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d
          required: false
          description: >-
            Any client-chosen key, a uuid for example. Sending the same request
            twice with the same key has one effect and returns the same response
            twice; the same key with a different body returns 409.
          name: idempotency-key
          in: header
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                view:
                  type: string
                  minLength: 1
                  maxLength: 200
                  description: >-
                    Send everyone in this People view (at most 250), as it lists
                    them now.
                person_ids:
                  type: array
                  items:
                    type: string
                    pattern: ^\S{1,200}$
                  minItems: 1
                  maxItems: 100
                  description: >-
                    The `id` of up to 100 people, from search_people or
                    get_person.
                confirm_id:
                  type: string
                  description: >-
                    The confirm_id of a needs_confirmation answer: commits what
                    that answer summarised.
      responses:
        '200':
          description: >-
            The result, or without confirm_id first a needs_confirmation answer:
            nothing happened yet.
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      destination:
                        type: object
                        properties:
                          id:
                            type: string
                          provider:
                            type: string
                          name:
                            type: string
                            nullable: true
                          status:
                            type: string
                            enum:
                              - connected
                              - paused
                              - failed
                              - disconnected
                        required:
                          - id
                          - provider
                          - name
                          - status
                      view:
                        type: object
                        nullable: true
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                        required:
                          - id
                          - name
                      to_send:
                        type: integer
                        description: How many people are sent.
                      queued:
                        type: integer
                        description: How many this call queued.
                      skipped:
                        type: array
                        items:
                          type: object
                          properties:
                            person_id:
                              type: string
                            name:
                              type: string
                              nullable: true
                            reason:
                              type: string
                              enum:
                                - not_found
                                - already_sent_today
                                - opted_out
                                - removed
                                - excluded
                              description: >-
                                not_found: this workspace does not know the id.
                                already_sent_today: already sent to this
                                destination today. opted_out: the person asked
                                to go to no destination. removed: somebody
                                marked them not a fit, so they are out of every
                                view. excluded: the "Always left out" rules of
                                the workspace leave them out. Those rules cover
                                competitors, recruiters, students, no company,
                                or a custom rule. Such a person is out of every
                                view and every send.
                          required:
                            - person_id
                            - name
                            - reason
                        description: >-
                          Who is not sent and why. At most 25 listed;
                          skipped_total counts all.
                      skipped_total:
                        type: integer
                      effects:
                        type: array
                        items:
                          type: string
                        description: What this send does, in plain words.
                      app_url:
                        type: string
                    required:
                      - destination
                      - view
                      - to_send
                      - queued
                      - skipped
                      - skipped_total
                      - effects
                      - app_url
                  - $ref: '#/components/schemas/Confirmation'
        '400':
          description: A filter value is invalid, or this resource has no such filter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Not included in this plan, or a usage cap was exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Wrong workspace, or the credential lacks the required scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such record, or it does not belong to this workspace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >-
            The same `Idempotency-Key` was used for a different request, or that
            request is still in flight.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    Confirmation:
      type: object
      properties:
        needs_confirmation:
          type: boolean
          enum:
            - true
        message:
          type: string
          description: >-
            Nothing changed yet. Ask the user, then send the same request with
            confirm_id.
        confirm_id:
          type: string
          description: Send it back with the same request to commit. Valid for 10 minutes.
        summary:
          nullable: true
          description: What the commit will do, to show the user before confirming.
        cost:
          type: object
          properties:
            estimate:
              type: number
            ceiling:
              type: number
          required:
            - estimate
            - ceiling
          description: >-
            Credits: estimate is what the commit is expected to spend. ceiling
            is 0: no ceiling is stored, and later spend stops when the balance
            reaches 0.
        expires_at:
          type: string
          description: ISO instant. After it, confirm_id is refused as confirm_stale.
      required:
        - needs_confirmation
        - message
        - confirm_id
        - cost
        - expires_at
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

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