Integry Docs
  • Welcome
  • Sign up for a free trial
  • Apps
    • Overview
    • Authentication
      • Access Control and Testing
    • Passthrough Requests
    • Supported Apps
      • Accelo
      • Aircall
      • Constant Contact
      • Copper
      • Elastic Email
      • Fireflies
      • Insightly
      • Instantly
      • Ontraport
      • RingCentral
      • Sendy
      • ServiceTitan
      • ActiveCampaign
      • Jotform
      • ActiveTrail
      • Agile CRM
      • Aha!
      • Airtable
      • Amazon SES
      • Asana
      • Basecamp3
      • BirdSend
      • Breezy HR
      • Brevo
      • Campaign Monitor
      • Capsule CRM
      • Chargify
      • CleverReach
      • ClickUp
      • ClickSend
      • Cliengo
      • Coda
      • Constant Contact
      • ConvertKit
      • Copper
      • Customer.io
      • Delighted
      • Demio
      • Drip
      • E-goi
      • Eventbrite
      • EverAction
      • Everhour
      • Formstack
      • Freshdesk
      • Freshworks CRM
      • Mautic
      • Customer.guru
      • Front
      • FTP
      • GetResponse
      • GitHub
      • Google Contacts
      • Google Sheets
      • GoToTraining
      • Groove
      • Help Scout
      • HubSpot
      • Keap
      • Mailchimp Transactional
      • Mailjet
      • MailUp
      • MeisterTask
      • Monday.com
      • MoonMail
      • Moosend
      • Nimble
      • Notion
      • Ontraport
      • PagerDuty
      • Pipedrive
      • Pipeline
      • Salesforce
      • SendPulse
      • Slack
      • Snappy
      • SolarWinds
      • Stripe
      • SurveySparrow
      • Teamgate
      • Unbounce
      • Zoho Books
      • Zoho Campaigns
      • Zoho CRM
      • Zoho Mail
      • Zoom
  • Flows
    • Overview
    • Flow Tutorials
      • Sync data TO another app from your app
      • Sync data FROM another app to your app
      • Create a two-way flow
    • Build a Flow
    • Trigger a Flow
      • Multiple Triggers in a Flow
    • Steps in a Flow
    • Integrations
      • Runs
  • Functions
    • Overview
    • Try Functions in 60 seconds
    • Quickstart for AI
    • Viewing Function Calls
    • Source Functions
    • Agent Frameworks
      • LangChain/LangGraph
      • CrewAI
      • AutoGen
      • LlamaIndex
      • Haystack
      • Smolagent
      • LiteLLM
      • Mistral AI
  • Embedded UI
    • Embed Integry Apps Marketplace
    • Add Integry Apps to an Existing Marketplace
    • Render modes, layouts and styling
    • Embedding FAQs
  • APIs and SDKs
    • JS SDK Reference
      • React Web Apps
    • API Reference
  • Workspaces
    • Overview
    • Workspace Variables
    • User Variables
  • Users
    • Testing with Beta Users
Powered by GitBook
On this page
  • Make a passthrough request via API
  • Make a passthrough request via SDK
  • List all passthrough request functions

Was this helpful?

Export as PDF
  1. Apps

Passthrough Requests

PreviousAccess Control and TestingNextSupported Apps

Last updated 4 months ago

Was this helpful?

We have Functions for the most commonly used endpoints of 200+ apps.

If you want to do anything else, you can call the Passthrough Request function of any app we support via or . Integry will automatically add the user's auth credentials to the request.

Make a passthrough request via API

POST /<app_name>-passthrough-request

Integry will execute the function if the user has already connected their account for the function app, and the method and URL parameters are provided in the body. These function calls will show in the Function Calls log in .

Integry will not execute the function if the user has not connected an account, or the parameters passed are invalid. These function calls will not show in the Function Calls log.

Body

Name
Type
Description
Required

method

string

Request method

true

url

string

Request URL

true

body

object

Request body

false

Response

If Integry executes the function, it will respond with a 200 OK with following keys in the response body:

  • network_code: HTTP response status code of the onwards API call made by Integry.

  • output: HTTP response body of the onwards API call made by Integry.

If Integry does not execute the function, it will respond with a 400 Bad Request with following keys in the response body:

  • error: Summary of the error.

  • error_details[]: Detailed errors for individual fields (if applicable).

// Function name: slack-passthrough-request
// GET https://slack.com/api/conversations.list?limit=2

{
    "network_code": "200",
    "output": {
        "ok": true,
        "channels": [
            {
                "id": "C6F3LQ03A",
                "name": "random",
                "is_channel": true,
                "is_group": false,
                "is_im": false,
                "is_mpim": false,
                "is_private": false,
                "created": 1501486653,
                "is_archived": false,
                "is_general": false,
                "unlinked": 0,
                "name_normalized": "random",
                "is_shared": false,
                "is_org_shared": false,
                "is_pending_ext_shared": false,
                "pending_shared": [],
                "context_team_id": "T6F74R6TB",
                "updated": 1724807678577,
                "parent_conversation": null,
                "creator": "U6GKMKPE2",
                "is_ext_shared": false,
                "shared_team_ids": [
                    "T6F74R6TB"
                ],
                "pending_connected_team_ids": [],
                "is_member": true,
                "topic": {
                    "value": "Non-work banter and water cooler conversation",
                    "creator": "U6GKMKPE2",
                    "last_set": 1501486653
                },
                "purpose": {
                    "value": "A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels.",
                    "creator": "U6GKMKPE2",
                    "last_set": 1501486653
                },
                "properties": {
                    "tabs": [
                        {
                            "id": "files",
                            "label": "",
                            "type": "files"
                        }
                    ]
                },
                "previous_names": [],
                "num_members": 7
            },
            {
                "id": "C6GKMKRUN",
                "name": "general",
                "is_channel": true,
                "is_group": false,
                "is_im": false,
                "is_mpim": false,
                "is_private": false,
                "created": 1501486653,
                "is_archived": false,
                "is_general": true,
                "unlinked": 0,
                "name_normalized": "general",
                "is_shared": false,
                "is_org_shared": false,
                "is_pending_ext_shared": false,
                "pending_shared": [],
                "context_team_id": "T6F74R6TB",
                "updated": 1731095674264,
                "parent_conversation": null,
                "creator": "U6GKMKPE2",
                "is_ext_shared": false,
                "shared_team_ids": [
                    "T6F74R6TB"
                ],
                "pending_connected_team_ids": [],
                "is_member": true,
                "topic": {
                    "value": "Channel for high priority, company-wide announcements and work-related matters. If you want to banter please head over to <#C02D3JZA45T|> if you want to discuss low priority items head over to <#G01L3PW2A01|integry-internal>",
                    "creator": "U6FQESQ02",
                    "last_set": 1632860908
                },
                "purpose": {
                    "value": "This channel is for team-wide communication and announcements. All team members are in this channel.",
                    "creator": "U6GKMKPE2",
                    "last_set": 1501486653
                },
                "properties": {
                    "tabs": [
                        {
                            "id": "files",
                            "label": "",
                            "type": "files"
                        }
                    ]
                },
                "previous_names": [],
                "num_members": 14
            }
        ],
        "response_metadata": {
            "next_cursor": "dGVhbTpDOFBLNUhOOTU="
        }
    }
}
// Function name: slack-passthrough-request
// Outcome: Error -- app was not connected
{
    "error": "Could not call the function due to invalid input. Please see `error_details` for further information.",
    "error_details": [
        "User has not connected their Slack account. To connect an account, please call following SDK method: `connectApp('slack')`"
    ]
}

Make a passthrough request via SDK

invokeFunction(<app_name>-passthrough-request, params, connectedAccountId)

Integry will not execute the function if the user has not connected an account, or the parameters passed are invalid. These function calls will not show in the Function Calls log.

const params = {
  method: "GET",
  url: "https://slack.com/api/conversations.list?limit=2"
};
integry.invokeFunction("slack-passthrough-request", params).then((result) => {
  console.log("Received response from Slack:", result);
}).catch((error) => {
  console.error("Failed to invoke function:", error);
});

Method parameters

Name
Type
Description
Example
Required

functionName

string

The name of the function to execute

slack-post-message

true

params

object

An object containing the function parameters.

{"method":"",

"url":"",

"body":""}

true

connectedAccountId

string

The connected account to use for executing the action. Only use if the user has connected multiple accounts.

43654

false

Returns

If Integry executes the function, this method returns a result object with following keys:

  • network_code: HTTP response status code of the onwards API call made by Integry.

  • output: HTTP response body of the onwards API call made by Integry.

If Integry does not execute the function, this method returns a result object with following keys:

  • error: Summary of the error.

  • error_details[]: Detailed errors for individual fields (if applicable).

// Function name: pipedrive-passthrough-request
// POST https://api.pipedrive.com/api/v2/persons
{
    "network_code": "200",
    "output": {
        "success": true,
        "data": {
            "id": 27,
            "name": "Sample contact",
            "first_name": "Sample",
            "last_name": "contact",
            "add_time": "2024-11-11T17:18:18Z",
            "update_time": null,
            "visible_to": 3,
            "custom_fields": null,
            "owner_id": 22469411,
            "label_ids": [],
            "org_id": null,
            "is_deleted": false,
            "picture_id": null,
            "phones": [],
            "emails": []
        }
    }
}
// Function name: pipedrive-passthrough-request
// POST https://api.pipedrive.com/api/v2/persons
{
    "error": "Could not call the function due to invalid input. Please see `error_details` for further information.",
    "error_details": [
        "User has not connected their Pipedrive account. To connect an account, please call following SDK method: `connect('pipedrive')`"
    ]
}

List all passthrough request functions

GET /functions?type=passthrough

Integry will execute the function if the user has already connected their account for the function app, and the method and URL parameters are provided in the params object. These function calls will show in the Function Calls log in .

List all passthrough request functions supported by Integry. See for more options.

the Integry app
/functions
the Integry app
API endpoint
SDK method