curl --request POST \
--url https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"name": "my-integration",
"provider": "<string>",
"latestRevision": {
"specVersion": "1.0.0",
"content": {
"name": "<string>",
"provider": "<string>",
"displayName": "<string>",
"module": "<string>",
"read": {
"objects": [
{
"objectName": "<string>",
"destination": "<string>",
"schedule": "<string>",
"mapToName": "people",
"mapToDisplayName": "People",
"requiredFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFieldsAuto": "all",
"backfill": {
"defaultPeriod": {
"days": 30,
"fullHistory": false
}
},
"delivery": {
"mode": "auto",
"pageSize": 275
},
"enabled": "always"
}
]
},
"write": {
"objects": [
{
"objectName": "<string>",
"inheritMapping": true,
"valueDefaults": {
"allowAnyFields": true
}
}
]
},
"proxy": {
"enabled": true,
"useModule": true
},
"subscribe": {
"objects": [
{
"objectName": "<string>",
"destination": "<string>",
"inheritFieldsAndMapping": true,
"createEvent": {
"enabled": "always"
},
"updateEvent": {
"enabled": "always",
"watchFieldsAuto": "all",
"requiredWatchFields": [
[
"name",
"domain"
]
]
},
"deleteEvent": {
"enabled": "always"
},
"associationChangeEvent": {
"enabled": "always",
"includeFullRecords": true
},
"otherEvents": [
[
"object.merged",
"object.restored"
]
]
}
]
},
"watchSchema": {
"destination": "fieldWatchStream",
"allObjects": {
"fieldCreated": {
"enabled": "always"
},
"fieldDeleted": {
"enabled": "always"
},
"fieldTypeChanged": {
"enabled": "always"
}
},
"schedule": "0 */6 * * *"
}
}
}
}
'This response has no body data.curl --request POST \
--url https://api.withampersand.com/v1/projects/{projectIdOrName}/integrations \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"name": "my-integration",
"provider": "<string>",
"latestRevision": {
"specVersion": "1.0.0",
"content": {
"name": "<string>",
"provider": "<string>",
"displayName": "<string>",
"module": "<string>",
"read": {
"objects": [
{
"objectName": "<string>",
"destination": "<string>",
"schedule": "<string>",
"mapToName": "people",
"mapToDisplayName": "People",
"requiredFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFields": [
{
"fieldName": "<string>",
"mapToName": "account_id",
"mapToDisplayName": "Account ID"
}
],
"optionalFieldsAuto": "all",
"backfill": {
"defaultPeriod": {
"days": 30,
"fullHistory": false
}
},
"delivery": {
"mode": "auto",
"pageSize": 275
},
"enabled": "always"
}
]
},
"write": {
"objects": [
{
"objectName": "<string>",
"inheritMapping": true,
"valueDefaults": {
"allowAnyFields": true
}
}
]
},
"proxy": {
"enabled": true,
"useModule": true
},
"subscribe": {
"objects": [
{
"objectName": "<string>",
"destination": "<string>",
"inheritFieldsAndMapping": true,
"createEvent": {
"enabled": "always"
},
"updateEvent": {
"enabled": "always",
"watchFieldsAuto": "all",
"requiredWatchFields": [
[
"name",
"domain"
]
]
},
"deleteEvent": {
"enabled": "always"
},
"associationChangeEvent": {
"enabled": "always",
"includeFullRecords": true
},
"otherEvents": [
[
"object.merged",
"object.restored"
]
]
}
]
},
"watchSchema": {
"destination": "fieldWatchStream",
"allObjects": {
"fieldCreated": {
"enabled": "always"
},
"fieldDeleted": {
"enabled": "always"
},
"fieldTypeChanged": {
"enabled": "always"
}
},
"schedule": "0 */6 * * *"
}
}
}
}
'This response has no body data.The Ampersand project ID or project name.
The integration name.
"my-integration"
The provider name (e.g. "salesforce", "hubspot")
Show child attributes
The spec version string.
"1.0.0"
Show child attributes
Show child attributes
Show child attributes
An object name to map to.
"people"
A display name to map to.
"People"
Show child attributes
The field name to map to.
"account_id"
The display name to map to.
"Account ID"
Show child attributes
The field name to map to.
"account_id"
The display name to map to.
"Account ID"
all Show child attributes
Show child attributes
Number of days in past to backfill from. 0 is no backfill. e.g) if 10, then backfill last 10 days of data. Required if fullHistory is not set.
x >= 030
If true, backfill all history. Required if days is not set.
false
Show child attributes
The data delivery mode for this object. If not specified, defaults to automatic.
onRequest, auto The number of records to receive per data delivery.
50 <= x <= 500If set to always, the integration will automatically install upon user connection and skip the user field selection step.
always Show child attributes
Show child attributes
If true, the write object will inherit the mapping from the read object. If false, the write object will have no mapping.
true
Show child attributes
Show child attributes
If true, the integration will inherit the fields and mapping from the read object.
true
Show child attributes
If always, the integration will subscribe to update events by default.
always If all, the integration will watch all fields for updates. If selected, the integration will watch only the fields that are selected by the user. If inheritFieldsAndMapping is true for Subscribe action, the integration will watch the selected fields from read action that are selected by the user.
all, selected "all"
The fields that are required to be watched for updates.
Show child attributes
If always, the integration will subscribe to association change events.
always If true, the integration will include full records in the event payload.
Non-standard events that the integration will subscribe to.
Configuration for monitoring provider schema changes.
Show child attributes
The destination to send schema change notifications to.
"fieldWatchStream"
Schema change event configuration for all objects in the integration.
Show child attributes
Configuration for detecting when new fields are created.
Show child attributes
If always, the integration will monitor for new fields by default.
always Configuration for detecting when fields are deleted.
Show child attributes
If always, the integration will monitor for deleted fields by default.
always Configuration for detecting when field types change.
Show child attributes
If always, the integration will monitor for field type changes by default.
always Cron schedule for checking schema changes. Minimum frequency is once per hour. Defaults to once a day.
"0 */6 * * *"
Was this page helpful?