curl --request POST \
--url https://api.rippit.com/v1/import_integration \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "<string>",
"etl_id": 123,
"history_days": 52124995687,
"selected_objects": [
"<string>"
],
"selected_fields": [
"<string>"
]
}
'import requests
url = "https://api.rippit.com/v1/import_integration"
payload = {
"account_id": "<string>",
"etl_id": 123,
"history_days": 52124995687,
"selected_objects": ["<string>"],
"selected_fields": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '<string>',
etl_id: 123,
history_days: 52124995687,
selected_objects: ['<string>'],
selected_fields: ['<string>']
})
};
fetch('https://api.rippit.com/v1/import_integration', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rippit.com/v1/import_integration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>',
'etl_id' => 123,
'history_days' => 52124995687,
'selected_objects' => [
'<string>'
],
'selected_fields' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.rippit.com/v1/import_integration"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"etl_id\": 123,\n \"history_days\": 52124995687,\n \"selected_objects\": [\n \"<string>\"\n ],\n \"selected_fields\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.rippit.com/v1/import_integration")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"etl_id\": 123,\n \"history_days\": 52124995687,\n \"selected_objects\": [\n \"<string>\"\n ],\n \"selected_fields\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rippit.com/v1/import_integration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\",\n \"etl_id\": 123,\n \"history_days\": 52124995687,\n \"selected_objects\": [\n \"<string>\"\n ],\n \"selected_fields\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyimport_integration
Import integration
Start an initial data import for an authenticated provider, or retry a failed initial import with its saved configuration. Use the exact source, account id, and ETL id returned by get_integration_state.
Confirm the requested history and optional field choices before starting. Repeating start on an importing or ready connection reports its current state instead of restarting it or expanding its history. Use retry only after a failed import; it preserves the original selection and does not accept history_days, selected_fields, or selected_objects. Workspace import limits still apply. Slack imports and retries require the bot to be in at least one selected channel; if none are available, ask the user to add Rippit to a channel before trying again.
Salesforce start requires selected_objects from get_integration_state query.kind objects, not selected_fields. Confirm the objects and history with the user. Case is the conversation table; other objects create separate tables. Objects marked doFullRepull import all history even when history_days is smaller. Retry preserves the saved objects and Case choice. If status.warning says retry is unavailable, report it instead of retrying.
This call starts work and returns; get_integration_state reports progress and the resulting table.
curl --request POST \
--url https://api.rippit.com/v1/import_integration \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "<string>",
"etl_id": 123,
"history_days": 52124995687,
"selected_objects": [
"<string>"
],
"selected_fields": [
"<string>"
]
}
'import requests
url = "https://api.rippit.com/v1/import_integration"
payload = {
"account_id": "<string>",
"etl_id": 123,
"history_days": 52124995687,
"selected_objects": ["<string>"],
"selected_fields": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '<string>',
etl_id: 123,
history_days: 52124995687,
selected_objects: ['<string>'],
selected_fields: ['<string>']
})
};
fetch('https://api.rippit.com/v1/import_integration', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rippit.com/v1/import_integration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>',
'etl_id' => 123,
'history_days' => 52124995687,
'selected_objects' => [
'<string>'
],
'selected_fields' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.rippit.com/v1/import_integration"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"etl_id\": 123,\n \"history_days\": 52124995687,\n \"selected_objects\": [\n \"<string>\"\n ],\n \"selected_fields\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.rippit.com/v1/import_integration")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"etl_id\": 123,\n \"history_days\": 52124995687,\n \"selected_objects\": [\n \"<string>\"\n ],\n \"selected_fields\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rippit.com/v1/import_integration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\",\n \"etl_id\": 123,\n \"history_days\": 52124995687,\n \"selected_objects\": [\n \"<string>\"\n ],\n \"selected_fields\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Provider returned by get_integration_state.
zendesk, intercom, slack_ingest, gong, salesforce Exact provider account id returned by get_integration_state.
1 - 255ETL id of that same connection.
x <= 9007199254740991Start the initial import or retry a failed initial import.
start, retry Required for start: days of history counted back from today. Confirm an ambiguous period. Forbidden for retry, which preserves the existing import configuration.
0 <= x <= 104249991374Required for Salesforce start: exact object names returned by get_integration_state query.kind objects. Confirm any doFullRepull objects import all history. Forbidden for other providers and retry.
11 - 255Nonempty fields[].rawFieldName values returned by get_integration_state, not fieldName display labels. Omit to use provider defaults.
1 - 150 elements255Response
Tool result.
Was this page helpful?