- Getting started
- Notifications
- Licensing
- Troubleshooting
- Coding agents
- Connector Builder
- Act! 365
- ActiveCampaign
- Active Directory - Preview
- Adobe Acrobat Sign
- Adobe PDF Services
- Agent 2 Agent - Preview
- Amazon Bedrock
- Amazon Connect
- Amazon Polly
- Amazon SES
- Amazon Transcribe
- Amazon Web Services
- Anthropic Claude
- Asana
- AWeber
- Azure AI Document Intelligence
- Azure Defender for Cloud
- Azure Maps
- BambooHR
- Box
- Brevo
- Calendly
- Campaign Monitor
- Cisco Webex Teams
- Citrix Hypervisor
- Citrix ShareFile
- Clearbit
- Confluence Cloud
- Constant Contact
- Coupa
- CrewAI – Preview
- Customer.io
- Database Hub
- Databricks - Preview
- Databricks Agent
- Datadog
- DeepSeek
- Deputy
- Discord - Preview
- DocuSign
- Drip
- Dropbox
- Dropbox Business
- Egnyte
- Epic FHIR - Preview
- Eventbrite
- Exchangerates
- Exchange Server - Preview
- Expensify
- Facebook
- Freshbooks
- Freshdesk
- Freshsales
- Freshservice
- GetResponse
- GitHub
- Gmail
- Google Cloud Platform
- Google Docs
- Google Drive
- Google Forms - Preview
- Google Maps
- Google Sheets
- Google Speech-to-Text
- Google Text-to-Speech
- Google Tasks - Preview
- Google Vertex
- Google Vision
- Google Workspace
- GoToWebinar
- Greenhouse
- Hootsuite
- HTTP
- HTTP Webhook
- Hubspot CRM
- HubSpot Marketing
- HyperV - Preview
- Icertis
- iContact
- Insightly CRM
- Intercom
- Jina.ai
- Jira
- Keap
- Klaviyo
- LinkedIn
- Mail
- Mailchimp
- Mailgun
- Mailjet
- MailerLite
- Marketo
- MCP
- Microsoft 365
- Microsoft Azure
- Microsoft Azure Active Directory
- Microsoft Azure AI Foundry
- Microsoft Azure OpenAI
- Microsoft Azure Sentinel
- Microsoft Dynamics 365 CRM
- Microsoft OneDrive & Sharepoint
- Microsoft Outlook 365
- Microsoft Power Automate
- Microsoft Sentiment
- Microsoft Sentinel Threat Intelligence
- Microsoft Teams
- Microsoft Translator
- Microsoft Vision
- Miro
- NetIQ eDirectory
- Nvidia NIM
- Okta
- OpenAI
- OpenAI V1 Compliant LLM
- Oracle Eloqua
- Oracle NetSuite
- PagerDuty
- PayPal
- PDFMonkey
- Perplexity
- Pinecone
- Pipedrive
- QuickBooksOnline
- Quip
- Salesforce
- Salesforce Agentforce & Flows
- Salesforce Marketing Cloud
- SAP BAPI
- SAP Cloud for Customer
- SAP Concur
- SAP OData
- SendGrid
- ServiceNow
- Shopify
- Slack
- SmartRecruiters
- Smartsheet
- Snowflake
- Snowflake Cortex
- Stripe
- Sugar Enterprise
- Sugar Professional
- Sugar Sell
- Sugar Serve
- System Center - Preview
- TangoCard
- Todoist
- Trello
- Twilio
- TypeSafe - Preview
- UiPath Apps - Preview
- UiPath Data Fabric
- UiPath Test Manager
- UiPath GenAI Activities
- UiPath Orchestrator
- X (formerly Twitter)
- Xero
- watsonx.ai
- WhatsApp Business
- WooCommerce
- Workable
- Workday
- Workday REST
- VMware ESXi vSphere
- YouTube
- Zendesk
- Zoho Campaigns
- Zoho Desk
- Zoho Mail
- Zoom
- ZoomInfo
Working with files
Send and receive files in a custom connector built with Connector Builder, using multipart parameters for uploads and file-typed output properties for downloads.
Connectors built with Connector Builder can both download files from a provider and upload files to it. The HTTP Request activity does not support files, so it is not an alternative for either case.
Files are handled in two different places:
- Downloads are configured on the activity's output, in the Activity designer.
- Uploads are configured on the API resource, as a multipart parameter, and surfaced as an activity input field.
Downloading a file
To return a file from an activity instead of a JSON payload, change the output property's data type in the Activity designer:
- In the Activity designer, select the output property that carries the file.
- Select Edit field.
- Under Field settings, set Data type to File.
The generated activity then returns a file instead of parsed fields. The output type depends on the project type:
| Project type | File output |
|---|---|
| Studio Desktop and Studio Web RPA projects | An IResource file, named from the Content-Disposition header of the provider response. Pass it to any activity that accepts a resource, such as the file activities in the System or Microsoft 365 activity packages. |
| API workflows and Maestro | A file reference with ID, FullName, MimeType, and Metadata fields. |
In API workflows and Maestro, the activity returns a file only when the file property is its only output field.
Uploading a file
A file is uploaded through a parameter on the API resource. To configure one:
- In the Activity designer, open the resource and select the parameter that carries the file.
- Under Parameter settings, set Parameter type to multipart.
- Set Data type to file.
- Under Provider information, set Provider type to multipart.
- Set Provider data type to file.
Connector Builder derives the request content type from the parameter: a resource that has a multipart parameter is sent as multipart/form-data, and a resource that does not is sent as application/json. You do not set the content type yourself.
A resource can mix locations. Alongside the file parameter you can keep parameters in the query, path, header, or body, and add further multipart parameters of other data types — for example a string parameter carrying the file name.
The parameter then appears as a file input on the generated activity, and in the Send Request dialog as a Choose file control, so you can test the resource before you publish.
To inspect or modify the parts of a multipart request from a connector script, use the multipart_hook_context_items variable. For details, see Global scripts.
First-party connectors already ship this pattern — the Box connector uses a file-typed multipart parameter for its upload resources.
Known limitations
- Field generation: Connector Builder does not generate fields for a resource that has a multipart parameter, and says so in the Send Request dialog, under Generate resource fields. Define the fields for such a resource manually.
- Request body editor: The request body editor accepts JSON. Multipart requests are expressed through parameters on the API resource.