API Configuration
You can manage your Salesforce connector programmatically using the Weld REST API. This page covers the key operations specific to Salesforce.
Authentication
All API requests require an API key passed via the x-api-key header. You can create API keys in Settings → API Keys inside the Weld app.
curl https://connect.weld.app/connections \
--header 'x-api-key: YOUR_API_KEY'
Integration ID
When creating connections or syncs for Salesforce, use the following integration ID:
| Parameter | Value |
|---|---|
integration_id | salesforce |
Create a Connection
To connect Salesforce via the API, create a connection bridge session:
curl https://connect.weld.app/connection_bridges \
--request POST \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"integration_id": "salesforce",
"label": "salesforce-production",
"redirect_uri": "https://yourapp.com/callback"
}'
The user will be redirected to Salesforce's OAuth flow to authorize access. Once complete, the connection is available for creating syncs.
Create an ELT Sync
Once a connection exists, create a sync to start loading Salesforce data:
curl https://connect.weld.app/elt_syncs \
--request POST \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"connection_id": "YOUR_CONNECTION_ID",
"destination_schema_name": "salesforce",
"sync_interval": "0 */6 * * *"
}'
Available Streams
After creating the sync, list the available streams to choose which Salesforce objects to sync:
curl https://connect.weld.app/elt_syncs/YOUR_SYNC_ID/available_source_streams \
--header 'x-api-key: YOUR_API_KEY'
Then add the streams you want:
curl https://connect.weld.app/elt_syncs/YOUR_SYNC_ID/source_streams \
--request POST \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"source_streams": [
{ "name": "accounts" },
{ "name": "contacts" },
{ "name": "opportunities" }
]
}'
Manage Syncs
| Operation | Method | Endpoint |
|---|---|---|
| List syncs | GET | /elt_syncs |
| Get sync details | GET | /elt_syncs/{id} |
| Update sync | POST | /elt_syncs/{id} |
| Enable sync | POST | /elt_syncs/{id}/enable |
| Disable sync | POST | /elt_syncs/{id}/disable |
| Get sync status | GET | /elt_syncs/{id}/status |
| Delete sync | DELETE | /elt_syncs/{id} |
Manage Streams
| Operation | Method | Endpoint |
|---|---|---|
| List available streams | GET | /elt_syncs/{id}/available_source_streams |
| Add streams | POST | /elt_syncs/{id}/source_streams |
| Trigger stream run | POST | /elt_streams/{id}/request_run |
| Request full refresh | POST | /elt_streams/{id}/request_full_refresh |
Rate Limits
Salesforce applies global rate limits across your account. If you use the Salesforce API for multiple purposes, you may encounter throttling. Weld automatically slows down syncs when you reach 80% of your rate limit to avoid maxing out limits for other integrations.
For the full endpoint reference including request/response schemas, see the API Reference →.