Pigeon
Dashboard
Dashboard
    • Introduction
    • Authentication
    • Using Third-Party Cloud Storage
    • Requests
      • Requests
      • Create Request
        POST
      • List Requests
        GET
      • Get Request
        GET
      • List Organization Requests
        GET
      • Update Request
        PATCH
      • Delete Request
        DELETE
      • Close Request
        POST
    • RequestItems
      • Request Items
      • Create Request Item
        POST
      • List Request Items
        GET
      • Get Request Item
        GET
      • Update Request Item
        PATCH
      • Delete Request Item
        DELETE
      • Verify Request Item
        POST
    • Documents
      • Documents
      • Get Document
        GET
      • Delete Document
        DELETE
      • List Request Documents
        GET
      • Delete Request Documents
        DELETE
      • List Request Item Documents
        GET
      • Download Document
        GET
      • Download Request Documents
        GET
      • Download Request Item Documents
        GET
    • Templates
      • Templates
      • List Templates
      • Create Template
      • Get Template
      • Update Template
      • Delete Template
      • List Organization Templates
    • Webhooks
      • Webhooks
      • Create Webhook Subscription
      • List Webhook Subscriptions
      • Get Webhook Subscription
      • Update Webhook Subscription
      • Delete Webhook Subscription
      • Get Webhook Signing Secret
    • Users
      • Get Current User
      • List Users
      • List Organization users
      • Get User
    • Contacts
      • List Contacts
      • Create or Update Contact
      • List Organization Contacts
    • Teams
      • List Teams
      • Get Team
    • ScheduledReminders
      • Create Scheduled Reminder
      • List Scheduled Reminders
      • Get Scheduled Reminder
      • Update Scheduled Reminder
      • Delete Scheduled Reminder
    • Escalations
      • Create Escalations
      • List Escalations
      • Get Escalation
      • Update Escalation
      • Delete Escalation
    • Attachments
      • List Attachments
      • Create Attachment
      • Get Attachment
    • Forms
      • Get Form
      • Delete Form
      • List Forms
      • Create Form
    • Schemas
      • AuthMethod
      • Body_handler_attachments_post
      • Body_handler_forms_post
      • ButtonStyle
      • CollaboratorPublic
      • ConnectionProvider
      • CreateDocGen
      • CreateESignatureObject
      • CreateEscalation
      • CreateQuestionObject
      • CreateRecipientPostParams
      • CreateRequestItem
      • CreateRequestPostParams
      • CreateRequestRecipient
      • CreateScheduledNotificationRecipient
      • CreateScheduledReminder
      • CreateTemplatePostParams
      • CreateWebhookWithoutOrg
      • CustomerDocumentPublic
      • DocumentNotFound
      • DocumentPublic
      • DocumentType
      • DocumentWithItemPublic
      • FilenameFormat
      • FormFieldPublic
      • FormFieldType
      • FormNotFound
      • FormPublic
      • HTTPValidationError
      • HeroStyle
      • ItemType
      • Language
      • OrganizationNotFound
      • QuestionType
      • RecipientPublic
      • RequestAttachmentPublic
      • RequestItemNotFound
      • RequestItemPublic
      • RequestNotFound
      • RequestPublic
      • RequestRecipientPublic
      • RequestStatus
      • ScheduledNotificationNotFound
      • ScheduledNotificationPublic
      • SendMethod
      • SessionPayloadPublic
      • SortOrder
      • TeamNotFound
      • TeamPublic
      • TemplateNotFound
      • TemplatePublic
      • UpdateEscalation
      • UpdateRequestItem
      • UpdateRequestPostParams
      • UpdateScheduledNotificationRecipient
      • UpdateScheduledReminder
      • UpdateTemplate
      • UpdateWebhook
      • UserNotFound
      • UserPublic
      • UserRole
      • ValidationError
      • WebhookNotFound
      • WebhookPublic
      • WebhookPublicWithSecret
      • WebhookTopic

    Using Third-Party Cloud Storage

    This guide explains how to integrate and use third party cloud storage (such as Google Drive, Box, Dropbox, or SharePoint/OneDrive) when creating a request via the Pigeon API.

    Prerequisites#

    Before you begin using cloud storage with the Pigeon API, ensure that:
    Your Pigeon account is connected to a third party storage provider.
    You must configure your account with your chosen cloud storage provider.
    Contact Support for Setup Instructions.
    Reach out to our support team for detailed steps on how to connect your account. Without this configuration, API calls for setting a cloud storage folder will not function properly.

    Configuring Your API Request#

    Once your account is connected, you can create requests that specify a cloud storage folder. In the API request body, include a property named "cloud_storage_folder" and set its value based on the specific cloud storage platform you are using.

    Sample Request Body#

    Below is an example JSON payload for creating a request:
    {
      "name": "Test Standard 3",
      "items": [
        {
          "type": "UPLOAD",
          "required": true,
          "name": "Upload"
        },
        {
          "type": "QUESTION",
          "required": false,
          "name": "Question"
        }
      ],
      "cloud_storage_folder": "<cloud storage folder id>",
      "recipients": [
        {
          "first_name": "John",
          "last_name": "Doe",
          "email": "john.doe@example.com",
          "auth_method": {
            "type": "NONE"
          }
        }
      ]
    }
    Note: Replace <cloud storage folder id> with the appropriate value for your provider.

    Cloud Storage Folder Values by Provider#

    The value you assign to "cloud_storage_folder" depends on your cloud storage provider:
    Google Drive:
    Use the folder ID from Google Drive.
    Box:
    Use the folder ID from Box.
    Dropbox:
    Set to either the path to the folder or the Dropbox folder ID.
    SharePoint/OneDrive:
    Use a composite string in the format:
    ${driveId}~${folderId}
    where ${driveId} is your drive identifier and ${folderId} is the folder's unique identifier.

    Best Practices and Additional Notes#

    Double-check the folder value:
    Verify that the folder identifier or path is correctly obtained from your cloud provider.
    Test your integration:
    After setting up your connection and constructing your API request, run tests to ensure that files are correctly routed to the specified cloud storage folder.
    Previous
    Authentication
    Next
    Requests