diff --git a/_data/taps/schemas/pipedrive/v2/json/activities.json b/_data/taps/schemas/pipedrive/v2/json/activities.json new file mode 100644 index 000000000..15fbd9ccc --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/activities.json @@ -0,0 +1,305 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "company_id": { + "type": [ + "null", + "integer" + ] + }, + "user_id": { + "type": [ + "null", + "integer" + ] + }, + "done": { + "type": [ + "null", + "boolean" + ] + }, + "type": { + "type": [ + "null", + "string" + ] + }, + "reference_type": { + "type": [ + "null", + "string" + ] + }, + "reference_id": { + "type": [ + "null", + "integer" + ] + }, + "due_date": { + "type": [ + "null", + "string" + ] + }, + "due_time": { + "type": [ + "null", + "string" + ] + }, + "duration": { + "type": [ + "null", + "string" + ] + }, + "add_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "marked_as_done_time": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "subject": { + "type": [ + "null", + "string" + ] + }, + "deal_id": { + "type": [ + "null", + "integer" + ] + }, + "org_id": { + "type": [ + "null", + "integer" + ] + }, + "person_id": { + "type": [ + "null", + "integer" + ] + }, + "is_deleted": { + "type": [ + "null", + "boolean" + ] + }, + "update_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "note": { + "type": [ + "null", + "string" + ] + }, + "participants": { + "type": [ + "null", + "array" + ], + "items": { + "type": "object", + "properties": { + "person_id": { + "type": "integer" + }, + "primary_flag": { + "type": "boolean" + } + } + } + }, + "owner_id": { + "type": [ + "null", + "integer" + ] + }, + "creator_user_id": { + "type": [ + "null", + "integer" + ] + }, + "location": { + "type": [ + "null", + "object" + ], + "properties": { + "value": { + "type": [ + "null", + "string" + ] + }, + "country": { + "type": [ + "null", + "string" + ] + }, + "admin_area_level_1": { + "type": [ + "null", + "string" + ] + }, + "admin_area_level_2": { + "type": [ + "null", + "string" + ] + }, + "locality": { + "type": [ + "null", + "string" + ] + }, + "sublocality": { + "type": [ + "null", + "string" + ] + }, + "route": { + "type": [ + "null", + "string" + ] + }, + "street_number": { + "type": [ + "null", + "string" + ] + }, + "postal_code": { + "type": [ + "null", + "string" + ] + } + } + }, + "attendees": { + "type": [ + "null", + "array" + ], + "items": { + "type": "object", + "properties": { + "email": { + "type": [ + "null", + "string" + ] + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "status": { + "type": [ + "null", + "string" + ] + }, + "is_organizer": { + "type": [ + "null", + "boolean" + ] + }, + "person_id": { + "type": [ + "null", + "integer" + ] + }, + "org_id": { + "type": [ + "null", + "integer" + ] + } + } + } + }, + "busy": { + "type": [ + "null", + "boolean" + ] + }, + "public_description": { + "type": [ + "null", + "string" + ] + }, + "lead_id": { + "type": [ + "null", + "string" + ] + }, + "project_id": { + "type": [ + "null", + "string" + ] + }, + "priority": { + "type": [ + "null", + "string" + ] + }, + "conference_meeting_client": { + "type": [ + "null", + "string" + ] + }, + "conference_meeting_url": { + "type": [ + "null", + "string" + ] + }, + "conference_meeting_id": { + "type": [ + "null", + "string" + ] + } + } +} diff --git a/_data/taps/schemas/pipedrive/v2/json/activity_types.json b/_data/taps/schemas/pipedrive/v2/json/activity_types.json new file mode 100644 index 000000000..d67cb5bd7 --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/activity_types.json @@ -0,0 +1,62 @@ +{ + "properties": { + "active_flag": { + "type": [ + "null", + "boolean" + ] + }, + "add_time": { + "type": [ + "null", + "date-time" + ] + }, + "color": { + "type": [ + "null", + "string" + ] + }, + "icon_key": { + "type": [ + "null", + "string" + ] + }, + "id": { + "type": "integer" + }, + "is_custom_flag": { + "type": [ + "null", + "boolean" + ] + }, + "key_string": { + "type": [ + "null", + "string" + ] + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "order_nr": { + "type": [ + "null", + "integer" + ] + }, + "update_time": { + "type": [ + "null", + "date-time" + ] + } + }, + "type": "object" +} \ No newline at end of file diff --git a/_data/taps/schemas/pipedrive/v2/json/currency.json b/_data/taps/schemas/pipedrive/v2/json/currency.json new file mode 100644 index 000000000..59e85fb50 --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/currency.json @@ -0,0 +1,44 @@ +{ + "properties": { + "active_flag": { + "type": [ + "null", + "boolean" + ] + }, + "code": { + "type": [ + "null", + "string" + ] + }, + "decimal_points": { + "type": [ + "null", + "integer" + ] + }, + "id": { + "type": "integer" + }, + "is_custom_flag": { + "type": [ + "null", + "boolean" + ] + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "symbol": { + "type": [ + "null", + "string" + ] + } + }, + "type": "object" +} \ No newline at end of file diff --git a/_data/taps/schemas/pipedrive/v2/json/deal_fields.json b/_data/taps/schemas/pipedrive/v2/json/deal_fields.json new file mode 100644 index 000000000..15ec44ab4 --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/deal_fields.json @@ -0,0 +1,148 @@ +{ + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": [ + "integer" + ] + }, + "key": { + "type": [ + "null", + "string" + ] + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "field_type": { + "type": [ + "null", + "string" + ] + }, + "order_nr": { + "type": [ + "null", + "integer" + ] + }, + "add_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "update_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "last_updated_by_user_id": { + "type": [ + "null", + "integer" + ] + }, + "active_flag": { + "type": [ + "null", + "boolean" + ] + }, + "edit_flag": { + "type": [ + "null", + "boolean" + ] + }, + "index_visible_flag": { + "type": [ + "null", + "boolean" + ] + }, + "details_visible_flag": { + "type": [ + "null", + "boolean" + ] + }, + "add_visible_flag": { + "type": [ + "null", + "boolean" + ] + }, + "important_flag": { + "type": [ + "null", + "boolean" + ] + }, + "bulk_edit_allowed": { + "type": [ + "null", + "boolean" + ] + }, + "searchable_flag": { + "type": [ + "null", + "boolean" + ] + }, + "filtering_allowed": { + "type": [ + "null", + "boolean" + ] + }, + "sortable_flag": { + "type": [ + "null", + "boolean" + ] + }, + "mandatory_flag": { + "type": [ + "null", + "boolean" + ] + }, + "options": { + "type": [ + "null", + "array" + ], + "items": { + "type": [ + "null", + "object" + ], + "additionalProperties": false, + "properties": { + "id": { + "type": [ + "null", + "string" + ] + }, + "label": { + "type": [ + "null", + "string" + ] + } + } + } + } + } +} diff --git a/_data/taps/schemas/pipedrive/v2/json/deal_products.json b/_data/taps/schemas/pipedrive/v2/json/deal_products.json new file mode 100644 index 000000000..7c6c0a1bf --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/deal_products.json @@ -0,0 +1,123 @@ +{ + "properties": { + "active_flag": { + "type": [ + "null", + "boolean" + ] + }, + "add_time": { + "type": [ + "null", + "date-time" + ] + }, + "comments": { + "type": [ + "null", + "string" + ] + }, + "currency": { + "type": [ + "null", + "string" + ] + }, + "deal_id": { + "type": [ + "integer" + ] + }, + "discount_percentage": { + "type": [ + "null", + "number" + ] + }, + "duration": { + "type": [ + "null", + "number" + ] + }, + "enabled_flag": { + "type": [ + "null", + "boolean" + ] + }, + "id": { + "type": [ + "integer" + ] + }, + "item_price": { + "type": [ + "null", + "number" + ] + }, + "last_edit": { + "type": [ + "null", + "date-time" + ] + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "order_nr": { + "type": [ + "null", + "integer" + ] + }, + "product_id": { + "type": [ + "null", + "integer" + ] + }, + "product_variation_id": { + "type": [ + "null", + "integer" + ] + }, + "quantity": { + "type": [ + "null", + "integer" + ] + }, + "quantity_formatted": { + "type": [ + "null", + "string" + ] + }, + "sum": { + "type": [ + "null", + "number" + ] + }, + "sum_formatted": { + "type": [ + "null", + "string" + ] + }, + "sum_no_discount": { + "type": [ + "null", + "number" + ] + } + }, + "type": "object" +} \ No newline at end of file diff --git a/_data/taps/schemas/pipedrive/v2/json/dealflow.json b/_data/taps/schemas/pipedrive/v2/json/dealflow.json new file mode 100644 index 000000000..88771bdf5 --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/dealflow.json @@ -0,0 +1,56 @@ +{ + "properties": { + "additional_data": { + "type": [ + "null", + "string" + ] + }, + "change_source": { + "type": [ + "null", + "string" + ] + }, + "field_key": { + "type": [ + "null", + "string" + ] + }, + "id": { + "type": "integer" + }, + "is_bulk_update_flag": { + "type": [ + "null", + "boolean" + ] + }, + "item_id": { + "type": "integer" + }, + "log_time": { + "type": [ + "null", + "date-time" + ] + }, + "new_value": { + "type": [ + "null", + "string" + ] + }, + "old_value": { + "type": [ + "null", + "string" + ] + }, + "user_id": { + "type": "integer" + } + }, + "type": "object" +} \ No newline at end of file diff --git a/_data/taps/schemas/pipedrive/v2/json/deals.json b/_data/taps/schemas/pipedrive/v2/json/deals.json new file mode 100644 index 000000000..a450cb945 --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/deals.json @@ -0,0 +1,310 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "creator_user_id": { + "type": [ + "null", + "integer" + ] + }, + "owner_id": { + "type": [ + "null", + "integer" + ] + }, + "person_id": { + "type": [ + "null", + "integer" + ] + }, + "org_id": { + "type": [ + "null", + "integer" + ] + }, + "stage_id": { + "type": [ + "null", + "integer" + ] + }, + "title": { + "type": [ + "null", + "string" + ] + }, + "value": { + "type": [ + "null", + "number" + ] + }, + "currency": { + "type": [ + "null", + "string" + ] + }, + "add_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "update_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "archive_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "stage_change_time": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "is_archived": { + "type": [ + "null", + "boolean" + ] + }, + "is_deleted": { + "type": [ + "null", + "boolean" + ] + }, + "status": { + "type": [ + "null", + "string" + ] + }, + "probability": { + "type": [ + "null", + "number" + ] + }, + "next_activity_id": { + "type": [ + "integer", + "null" + ] + }, + "last_activity_id": { + "type": [ + "integer", + "null" + ] + }, + "origin": { + "type": [ + "null", + "string" + ] + }, + "origin_id": { + "type": [ + "null", + "string" + ] + }, + "channel": { + "type": [ + "null", + "string" + ] + }, + "channel_id": { + "type": [ + "null", + "string" + ] + }, + "lost_reason": { + "type": [ + "null", + "string" + ] + }, + "visible_to": { + "type": [ + "null", + "string" + ] + }, + "close_time": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "pipeline_id": { + "type": [ + "null", + "integer" + ] + }, + "won_time": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "first_won_time": { + "anyOf": [ + { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + { + "type": [ + "string", + "null" + ] + } + ] + }, + "lost_time": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "local_won_date": { + "type": [ + "null", + "string" + ] + }, + "local_lost_date": { + "type": [ + "null", + "string" + ] + }, + "local_close_date": { + "type": [ + "null", + "string" + ] + }, + "acv": { + "type": [ + "null", + "integer" + ] + }, + "arr": { + "type": [ + "null", + "integer" + ] + }, + "mrr": { + "type": [ + "null", + "integer" + ] + }, + "products_count": { + "type": [ + "null", + "integer" + ] + }, + "files_count": { + "type": [ + "null", + "integer" + ] + }, + "notes_count": { + "type": [ + "null", + "integer" + ] + }, + "followers_count": { + "type": [ + "null", + "integer" + ] + }, + "email_messages_count": { + "type": [ + "null", + "integer" + ] + }, + "activities_count": { + "type": [ + "null", + "integer" + ] + }, + "done_activities_count": { + "type": [ + "null", + "integer" + ] + }, + "undone_activities_count": { + "type": [ + "null", + "integer" + ] + }, + "participants_count": { + "type": [ + "null", + "integer" + ] + }, + "expected_close_date": { + "type": [ + "null", + "string" + ] + }, + "last_incoming_mail_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "last_outgoing_mail_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + } + } +} diff --git a/_data/taps/schemas/pipedrive/v2/json/files.json b/_data/taps/schemas/pipedrive/v2/json/files.json new file mode 100644 index 000000000..ca8e511cc --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/files.json @@ -0,0 +1,182 @@ +{ + "properties": { + "active_flag": { + "type": [ + "null", + "boolean" + ] + }, + "activity_id": { + "type": [ + "null", + "integer" + ] + }, + "add_time": { + "type": [ + "null", + "date-time" + ] + }, + "cid": { + "type": [ + "null", + "string" + ] + }, + "deal_id": { + "type": [ + "null", + "integer" + ] + }, + "deal_name": { + "type": [ + "null", + "string" + ] + }, + "description": { + "type": [ + "null", + "string" + ] + }, + "email_message_id": { + "type": [ + "null", + "integer" + ] + }, + "file_name": { + "type": [ + "null", + "string" + ] + }, + "file_size": { + "type": [ + "null", + "integer" + ] + }, + "file_type": { + "type": [ + "null", + "string" + ] + }, + "id": { + "type": "integer" + }, + "inline_flag": { + "type": [ + "null", + "boolean" + ] + }, + "log_id": { + "type": [ + "null", + "integer" + ] + }, + "mail_message_id": { + "type": [ + "null", + "integer" + ] + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "note_id": { + "type": [ + "null", + "integer" + ] + }, + "org_id": { + "type": [ + "null", + "integer" + ] + }, + "org_name": { + "type": [ + "null", + "string" + ] + }, + "people_name": { + "type": [ + "null", + "string" + ] + }, + "person_id": { + "type": [ + "null", + "integer" + ] + }, + "person_name": { + "type": [ + "null", + "string" + ] + }, + "product_id": { + "type": [ + "null", + "integer" + ] + }, + "product_name": { + "type": [ + "null", + "string" + ] + }, + "remote_id": { + "type": [ + "null", + "string" + ] + }, + "remote_location": { + "type": [ + "null", + "string" + ] + }, + "s3_bucket": { + "type": [ + "null", + "string" + ] + }, + "update_time": { + "type": [ + "null", + "date-time" + ] + }, + "url": { + "type": [ + "null", + "string" + ] + }, + "user_id": { + "type": [ + "null", + "integer" + ] + } + }, + "type": "object" +} \ No newline at end of file diff --git a/_data/taps/schemas/pipedrive/v2/json/filters.json b/_data/taps/schemas/pipedrive/v2/json/filters.json new file mode 100644 index 000000000..6ab4a5ec2 --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/filters.json @@ -0,0 +1,62 @@ +{ + "properties": { + "active_flag": { + "type": [ + "null", + "boolean" + ] + }, + "add_time": { + "type": [ + "null", + "date-time" + ] + }, + "custom_view_id": { + "type": [ + "null", + "integer" + ] + }, + "id": { + "type": "integer" + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "temporary_flag": { + "type": [ + "null", + "boolean" + ] + }, + "type": { + "type": [ + "null", + "string" + ] + }, + "update_time": { + "type": [ + "null", + "date-time" + ] + }, + "user_id": { + "type": [ + "null", + "integer" + ] + }, + "visible_to": { + "type": [ + "null", + "string" + ] + } + }, + "type": "object" +} \ No newline at end of file diff --git a/_data/taps/schemas/pipedrive/v2/json/notes.json b/_data/taps/schemas/pipedrive/v2/json/notes.json new file mode 100644 index 000000000..18dfa2e8b --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/notes.json @@ -0,0 +1,148 @@ +{ + "properties": { + "active_flag": { + "type": [ + "null", + "boolean" + ] + }, + "add_time": { + "type": [ + "null", + "date-time" + ] + }, + "content": { + "type": [ + "null", + "string" + ] + }, + "deal": { + "properties": { + "title": { + "type": [ + "null", + "string" + ] + } + }, + "type": [ + "null", + "object" + ] + }, + "deal_id": { + "type": [ + "null", + "integer" + ] + }, + "id": { + "type": "integer" + }, + "last_update_user_id": { + "type": [ + "null", + "integer" + ] + }, + "org_id": { + "type": [ + "null", + "integer" + ] + }, + "organization": { + "properties": { + "name": { + "type": [ + "null", + "string" + ] + } + }, + "type": [ + "null", + "object" + ] + }, + "person": { + "properties": { + "name": { + "type": [ + "null", + "string" + ] + } + }, + "required": [ + "name" + ], + "type": [ + "null", + "object" + ] + }, + "person_id": { + "type": [ + "null", + "integer" + ] + }, + "pinned_to_deal_flag": { + "type": [ + "null", + "boolean" + ] + }, + "pinned_to_organization_flag": { + "type": [ + "null", + "boolean" + ] + }, + "pinned_to_person_flag": { + "type": [ + "null", + "boolean" + ] + }, + "update_time": { + "type": [ + "null", + "date-time" + ] + }, + "user": { + "properties": { + "email": { + "type": [ + "null", + "string" + ] + }, + "icon_url": { + "type": [ + "null", + "string" + ] + }, + "is_you": { + "type": "boolean" + }, + "name": { + "type": [ + "null", + "string" + ] + } + }, + "type": "object" + }, + "user_id": { + "type": "integer" + } + }, + "type": "object" +} \ No newline at end of file diff --git a/_data/taps/schemas/pipedrive/v2/json/organizations.json b/_data/taps/schemas/pipedrive/v2/json/organizations.json new file mode 100644 index 000000000..0d63ca796 --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/organizations.json @@ -0,0 +1,225 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "org_id": { + "type": [ + "null", + "integer" + ] + }, + "owner_id": { + "type": "integer" + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "open_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "related_open_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "closed_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "related_closed_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "email_messages_count": { + "type": [ + "null", + "integer" + ] + }, + "people_count": { + "type": [ + "null", + "integer" + ] + }, + "activities_count": { + "type": [ + "null", + "integer" + ] + }, + "done_activities_count": { + "type": [ + "null", + "integer" + ] + }, + "undone_activities_count": { + "type": [ + "null", + "integer" + ] + }, + "files_count": { + "type": [ + "null", + "integer" + ] + }, + "notes_count": { + "type": [ + "null", + "integer" + ] + }, + "followers_count": { + "type": [ + "null", + "integer" + ] + }, + "won_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "related_won_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "lost_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "related_lost_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "is_deleted": { + "type": [ + "null", + "boolean" + ] + }, + "first_char": { + "type": [ + "null", + "string" + ] + }, + "update_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "add_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "visible_to": { + "type": [ + "null", + "string" + ] + }, + "next_activity_id": { + "type": [ + "integer", + "null" + ] + }, + "last_activity_id": { + "type": [ + "integer", + "null" + ] + }, + "address": { + "type": [ + "null", + "object" + ], + "properties": { + "value": { + "type": [ + "null", + "string" + ] + }, + "country": { + "type": [ + "null", + "string" + ] + }, + "admin_area_level_1": { + "type": [ + "null", + "string" + ] + }, + "admin_area_level_2": { + "type": [ + "null", + "string" + ] + }, + "locality": { + "type": [ + "null", + "string" + ] + }, + "sublocality": { + "type": [ + "null", + "string" + ] + }, + "route": { + "type": [ + "null", + "string" + ] + }, + "street_number": { + "type": [ + "null", + "string" + ] + }, + "postal_code": { + "type": [ + "null", + "string" + ] + } + } + } + } +} diff --git a/_data/taps/schemas/pipedrive/v2/json/persons.json b/_data/taps/schemas/pipedrive/v2/json/persons.json new file mode 100644 index 000000000..408f85bbe --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/persons.json @@ -0,0 +1,331 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "owner_id": { + "type": [ + "null", + "integer" + ] + }, + "org_id": { + "type": [ + "integer", + "null" + ] + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "first_name": { + "type": [ + "string", + "null" + ] + }, + "last_name": { + "type": [ + "string", + "null" + ] + }, + "open_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "related_open_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "closed_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "related_closed_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "participant_open_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "participant_closed_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "email_messages_count": { + "type": [ + "null", + "integer" + ] + }, + "activities_count": { + "type": [ + "null", + "integer" + ] + }, + "done_activities_count": { + "type": [ + "null", + "integer" + ] + }, + "undone_activities_count": { + "type": [ + "null", + "integer" + ] + }, + "reference_activities_count": { + "type": [ + "null", + "integer" + ] + }, + "files_count": { + "type": [ + "null", + "integer" + ] + }, + "notes_count": { + "type": [ + "null", + "integer" + ] + }, + "followers_count": { + "type": [ + "null", + "integer" + ] + }, + "won_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "related_won_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "lost_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "related_lost_deals_count": { + "type": [ + "null", + "integer" + ] + }, + "is_deleted": { + "type": [ + "null", + "boolean" + ] + }, + "phones": { + "type": [ + "null", + "array" + ], + "items": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "primary": { + "type": "boolean" + }, + "label": { + "type": "string" + } + } + } + }, + "im": { + "type": [ + "null", + "array" + ], + "items": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "primary": { + "type": "boolean" + }, + "label": { + "type": "string" + } + } + } + }, + "emails": { + "type": [ + "null", + "array" + ], + "items": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "primary": { + "type": "boolean" + }, + "label": { + "type": "string" + } + } + } + }, + "update_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "add_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "visible_to": { + "type": [ + "null", + "string" + ] + }, + "picture_id": { + "type": [ + "integer", + "null" + ] + }, + "birthday": { + "type": [ + "null", + "string" + ] + }, + "job_title": { + "type": [ + "null", + "string" + ] + }, + "postal_address": { + "type": [ + "null", + "object" + ], + "properties": { + "value": { + "type": [ + "null", + "string" + ] + }, + "country": { + "type": [ + "null", + "string" + ] + }, + "admin_area_level_1": { + "type": [ + "null", + "string" + ] + }, + "admin_area_level_2": { + "type": [ + "null", + "string" + ] + }, + "locality": { + "type": [ + "null", + "string" + ] + }, + "sublocality": { + "type": [ + "null", + "string" + ] + }, + "route": { + "type": [ + "null", + "string" + ] + }, + "street_number": { + "type": [ + "null", + "string" + ] + }, + "postal_code": { + "type": [ + "null", + "string" + ] + } + } + }, + "next_activity_id": { + "type": [ + "integer", + "null" + ] + }, + "last_activity_id": { + "type": [ + "integer", + "null" + ] + }, + "last_outgoing_mail_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + } + } +} diff --git a/_data/taps/schemas/pipedrive/v2/json/pipelines.json b/_data/taps/schemas/pipedrive/v2/json/pipelines.json new file mode 100644 index 000000000..5aa5543c5 --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/pipelines.json @@ -0,0 +1,52 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "order_nr": { + "type": [ + "null", + "integer" + ] + }, + "is_deleted": { + "type": [ + "null", + "boolean" + ] + }, + "is_deal_probability_enabled": { + "type": [ + "null", + "boolean" + ] + }, + "add_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "update_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "selected": { + "type": [ + "null", + "boolean" + ] + } + } +} diff --git a/_data/taps/schemas/pipedrive/v2/json/products.json b/_data/taps/schemas/pipedrive/v2/json/products.json new file mode 100644 index 000000000..a6290a3a2 --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/products.json @@ -0,0 +1,135 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "code": { + "type": [ + "null", + "string" + ] + }, + "description": { + "type": [ + "null", + "string" + ] + }, + "unit": { + "type": [ + "null", + "string" + ] + }, + "tax": { + "type": [ + "null", + "integer" + ] + }, + "category": { + "type": [ + "null", + "string" + ] + }, + "is_linkable": { + "type": [ + "null", + "boolean" + ] + }, + "is_deleted": { + "type": [ + "null", + "boolean" + ] + }, + "visible_to": { + "type": [ + "null", + "string" + ] + }, + "owner_id": { + "type": [ + "null", + "integer" + ] + }, + "add_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "update_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "prices": { + "type": [ + "null", + "object", + "array" + ], + "items": { + "type": "object" + }, + "properties": { + "USD": { + "type": "object", + "properties": { + "id": { + "type": [ + "null", + "integer" + ] + }, + "product_id": { + "type": [ + "null", + "integer" + ] + }, + "price": { + "type": [ + "null", + "integer" + ] + }, + "currency": { + "type": [ + "null", + "string" + ] + }, + "cost": { + "type": [ + "null", + "number" + ] + }, + "overhead_cost": { + "type": [ + "null", + "number" + ] + } + } + } + } + } + } +} diff --git a/_data/taps/schemas/pipedrive/v2/json/stages.json b/_data/taps/schemas/pipedrive/v2/json/stages.json new file mode 100644 index 000000000..86737514f --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/stages.json @@ -0,0 +1,64 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "order_nr": { + "type": [ + "null", + "integer" + ] + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "is_deleted": { + "type": [ + "null", + "boolean" + ] + }, + "is_deal_rot_enabled": { + "type": [ + "null", + "boolean" + ] + }, + "deal_probability": { + "type": [ + "null", + "integer" + ] + }, + "days_to_rotten": { + "type": [ + "null", + "integer" + ] + }, + "pipeline_id": { + "type": [ + "null", + "integer" + ] + }, + "add_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + }, + "update_time": { + "type": [ + "null", + "string" + ], + "format": "date-time" + } + } +} diff --git a/_data/taps/schemas/pipedrive/v2/json/users.json b/_data/taps/schemas/pipedrive/v2/json/users.json new file mode 100644 index 000000000..4cf0c2809 --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/json/users.json @@ -0,0 +1,126 @@ +{ + "properties": { + "activated": { + "type": [ + "null", + "boolean" + ] + }, + "active_flag": { + "type": [ + "null", + "boolean" + ] + }, + "created": { + "type": [ + "null", + "date-time" + ] + }, + "default_currency": { + "type": [ + "null", + "string" + ] + }, + "email": { + "type": "string" + }, + "has_created_company": { + "type": [ + "null", + "boolean" + ] + }, + "icon_url": { + "type": [ + "null", + "string" + ] + }, + "id": { + "type": "integer" + }, + "is_admin": { + "type": [ + "null", + "integer" + ] + }, + "is_you": { + "type": [ + "null", + "boolean" + ] + }, + "lang": { + "type": [ + "null", + "integer" + ] + }, + "last_login": { + "anyOf": [ + { + "type": [ + "null", + "date-time" + ] + }, + { + "type": [ + "null", + "string" + ] + } + ] + }, + "locale": { + "type": [ + "null", + "string" + ] + }, + "modified": { + "type": [ + "null", + "date-time" + ] + }, + "name": { + "type": "string" + }, + "phone": { + "type": [ + "null", + "string" + ] + }, + "role_id": { + "type": [ + "null", + "integer" + ] + }, + "signup_flow_variation": { + "type": [ + "null", + "string" + ] + }, + "timezone_name": { + "type": [ + "null", + "string" + ] + }, + "timezone_offset": { + "type": [ + "null", + "string" + ] + } + }, + "type": "object" +} \ No newline at end of file diff --git a/_data/taps/schemas/pipedrive/v2/pipedrive-v2-foreign-keys.yml b/_data/taps/schemas/pipedrive/v2/pipedrive-v2-foreign-keys.yml new file mode 100644 index 000000000..c2951f9f8 --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/pipedrive-v2-foreign-keys.yml @@ -0,0 +1,775 @@ +tap: pipedrive +version: '2' +keys: + activities_activity_id: + - table: activities + keys: + - id + - table: deals + keys: + - last_activity_id + - next_activity_id + - table: files + keys: + - activity_id + - table: organizations + keys: + - last_activity_id + - next_activity_id + - table: persons + keys: + - last_activity_id + - next_activity_id + activity_types_activity_type_id: + - table: activity_types + keys: + - id + currency_currency_id: + - table: currency + keys: + - id + deals_deal_id: + - table: activities + keys: + - deal_id + - table: deals + keys: + - id + - table: deal_products + keys: + - deal_id + - table: files + keys: + - deal_id + - table: notes + keys: + - deal_id + deal_products_deal_product_id: + - table: deal_products + keys: + - id + filters_filter_id: + - table: filters + keys: + - id + pipelines_pipeline_id: + - table: deals + keys: + - pipeline_id + - table: pipelines + keys: + - id + - table: stages + keys: + - pipeline_id + notes_note_id: + - table: files + keys: + - note_id + - table: notes + keys: + - id + organizations_org_id: + - table: activities + keys: + - org_id + - table: deals + keys: + - org_id + - table: files + keys: + - org_id + - table: notes + keys: + - org_id + - table: organizations + keys: + - id + persons_person_id: + - table: activities + keys: + - participants.person_id + - person_id + - table: files + keys: + - person_id + - table: notes + keys: + - person_id + - table: persons + keys: + - id + products_product_id: + - table: deal_products + keys: + - product_id + - table: files + keys: + - product_id + - table: products + keys: + - id + stages_stage_id: + - table: deals + keys: + - stage_id + - table: stages + keys: + - id + users_user_id: + - table: activities + keys: + - assigned_to_user_id + - created_by_user_id + - user_id + - table: dealflow + keys: + - user_id + - table: deals + keys: + - creator_user_id + - user_id + - table: files + keys: + - user_id + - table: filters + keys: + - user_id + - table: notes + keys: + - last_update_user_id + - user_id + - table: users + keys: + - id +tables: +- table-name: activities + join: + - table-name: deals + keys: + - key: id + foreign-key: last_activity_id + - key: id + foreign-key: next_activity_id + - key: deal_id + foreign-key: id + - key: org_id + foreign-key: org_id + - key: assigned_to_user_id + foreign-key: creator_user_id + - key: created_by_user_id + foreign-key: creator_user_id + - key: user_id + foreign-key: creator_user_id + - key: assigned_to_user_id + foreign-key: user_id + - key: created_by_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: files + keys: + - key: id + foreign-key: activity_id + - key: deal_id + foreign-key: deal_id + - key: org_id + foreign-key: org_id + - key: participants.person_id + foreign-key: person_id + - key: person_id + foreign-key: person_id + - key: assigned_to_user_id + foreign-key: user_id + - key: created_by_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: organizations + keys: + - key: id + foreign-key: last_activity_id + - key: id + foreign-key: next_activity_id + - key: org_id + foreign-key: id + - table-name: persons + keys: + - key: id + foreign-key: last_activity_id + - key: id + foreign-key: next_activity_id + - key: participants.person_id + foreign-key: id + - key: person_id + foreign-key: id + - table-name: deal_products + keys: + - key: deal_id + foreign-key: deal_id + - table-name: notes + keys: + - key: deal_id + foreign-key: deal_id + - key: org_id + foreign-key: org_id + - key: participants.person_id + foreign-key: person_id + - key: person_id + foreign-key: person_id + - key: assigned_to_user_id + foreign-key: last_update_user_id + - key: created_by_user_id + foreign-key: last_update_user_id + - key: user_id + foreign-key: last_update_user_id + - key: assigned_to_user_id + foreign-key: user_id + - key: created_by_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: dealflow + keys: + - key: assigned_to_user_id + foreign-key: user_id + - key: created_by_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: filters + keys: + - key: assigned_to_user_id + foreign-key: user_id + - key: created_by_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: users + keys: + - key: assigned_to_user_id + foreign-key: id + - key: created_by_user_id + foreign-key: id + - key: user_id + foreign-key: id +- table-name: deals + join: + - table-name: activities + keys: + - key: last_activity_id + foreign-key: id + - key: next_activity_id + foreign-key: id + - key: id + foreign-key: deal_id + - key: org_id + foreign-key: org_id + - key: creator_user_id + foreign-key: assigned_to_user_id + - key: user_id + foreign-key: assigned_to_user_id + - key: creator_user_id + foreign-key: created_by_user_id + - key: user_id + foreign-key: created_by_user_id + - key: creator_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: files + keys: + - key: last_activity_id + foreign-key: activity_id + - key: next_activity_id + foreign-key: activity_id + - key: id + foreign-key: deal_id + - key: org_id + foreign-key: org_id + - key: creator_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: organizations + keys: + - key: last_activity_id + foreign-key: last_activity_id + - key: next_activity_id + foreign-key: last_activity_id + - key: last_activity_id + foreign-key: next_activity_id + - key: next_activity_id + foreign-key: next_activity_id + - key: org_id + foreign-key: id + - table-name: persons + keys: + - key: last_activity_id + foreign-key: last_activity_id + - key: next_activity_id + foreign-key: last_activity_id + - key: last_activity_id + foreign-key: next_activity_id + - key: next_activity_id + foreign-key: next_activity_id + - table-name: deal_products + keys: + - key: id + foreign-key: deal_id + - table-name: notes + keys: + - key: id + foreign-key: deal_id + - key: org_id + foreign-key: org_id + - key: creator_user_id + foreign-key: last_update_user_id + - key: user_id + foreign-key: last_update_user_id + - key: creator_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: pipelines + keys: + - key: pipeline_id + foreign-key: id + - table-name: stages + keys: + - key: pipeline_id + foreign-key: pipeline_id + - key: stage_id + foreign-key: id + - table-name: dealflow + keys: + - key: creator_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: filters + keys: + - key: creator_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: users + keys: + - key: creator_user_id + foreign-key: id + - key: user_id + foreign-key: id +- table-name: files + join: + - table-name: activities + keys: + - key: activity_id + foreign-key: id + - key: deal_id + foreign-key: deal_id + - key: org_id + foreign-key: org_id + - key: person_id + foreign-key: participants.person_id + - key: person_id + foreign-key: person_id + - key: user_id + foreign-key: assigned_to_user_id + - key: user_id + foreign-key: created_by_user_id + - key: user_id + foreign-key: user_id + - table-name: deals + keys: + - key: activity_id + foreign-key: last_activity_id + - key: activity_id + foreign-key: next_activity_id + - key: deal_id + foreign-key: id + - key: org_id + foreign-key: org_id + - key: user_id + foreign-key: creator_user_id + - key: user_id + foreign-key: user_id + - table-name: organizations + keys: + - key: activity_id + foreign-key: last_activity_id + - key: activity_id + foreign-key: next_activity_id + - key: org_id + foreign-key: id + - table-name: persons + keys: + - key: activity_id + foreign-key: last_activity_id + - key: activity_id + foreign-key: next_activity_id + - key: person_id + foreign-key: id + - table-name: deal_products + keys: + - key: deal_id + foreign-key: deal_id + - key: product_id + foreign-key: product_id + - table-name: notes + keys: + - key: deal_id + foreign-key: deal_id + - key: note_id + foreign-key: id + - key: org_id + foreign-key: org_id + - key: person_id + foreign-key: person_id + - key: user_id + foreign-key: last_update_user_id + - key: user_id + foreign-key: user_id + - table-name: products + keys: + - key: product_id + foreign-key: id + - table-name: dealflow + keys: + - key: user_id + foreign-key: user_id + - table-name: filters + keys: + - key: user_id + foreign-key: user_id + - table-name: users + keys: + - key: user_id + foreign-key: id +- table-name: organizations + join: + - table-name: activities + keys: + - key: last_activity_id + foreign-key: id + - key: next_activity_id + foreign-key: id + - key: id + foreign-key: org_id + - table-name: deals + keys: + - key: last_activity_id + foreign-key: last_activity_id + - key: next_activity_id + foreign-key: last_activity_id + - key: last_activity_id + foreign-key: next_activity_id + - key: next_activity_id + foreign-key: next_activity_id + - key: id + foreign-key: org_id + - table-name: files + keys: + - key: last_activity_id + foreign-key: activity_id + - key: next_activity_id + foreign-key: activity_id + - key: id + foreign-key: org_id + - table-name: persons + keys: + - key: last_activity_id + foreign-key: last_activity_id + - key: next_activity_id + foreign-key: last_activity_id + - key: last_activity_id + foreign-key: next_activity_id + - key: next_activity_id + foreign-key: next_activity_id + - table-name: notes + keys: + - key: id + foreign-key: org_id +- table-name: persons + join: + - table-name: activities + keys: + - key: last_activity_id + foreign-key: id + - key: next_activity_id + foreign-key: id + - key: id + foreign-key: participants.person_id + - key: id + foreign-key: person_id + - table-name: deals + keys: + - key: last_activity_id + foreign-key: last_activity_id + - key: next_activity_id + foreign-key: last_activity_id + - key: last_activity_id + foreign-key: next_activity_id + - key: next_activity_id + foreign-key: next_activity_id + - table-name: files + keys: + - key: last_activity_id + foreign-key: activity_id + - key: next_activity_id + foreign-key: activity_id + - key: id + foreign-key: person_id + - table-name: organizations + keys: + - key: last_activity_id + foreign-key: last_activity_id + - key: next_activity_id + foreign-key: last_activity_id + - key: last_activity_id + foreign-key: next_activity_id + - key: next_activity_id + foreign-key: next_activity_id + - table-name: notes + keys: + - key: id + foreign-key: person_id +- table-name: deal_products + join: + - table-name: activities + keys: + - key: deal_id + foreign-key: deal_id + - table-name: deals + keys: + - key: deal_id + foreign-key: id + - table-name: files + keys: + - key: deal_id + foreign-key: deal_id + - key: product_id + foreign-key: product_id + - table-name: notes + keys: + - key: deal_id + foreign-key: deal_id + - table-name: products + keys: + - key: product_id + foreign-key: id +- table-name: notes + join: + - table-name: activities + keys: + - key: deal_id + foreign-key: deal_id + - key: org_id + foreign-key: org_id + - key: person_id + foreign-key: participants.person_id + - key: person_id + foreign-key: person_id + - key: last_update_user_id + foreign-key: assigned_to_user_id + - key: user_id + foreign-key: assigned_to_user_id + - key: last_update_user_id + foreign-key: created_by_user_id + - key: user_id + foreign-key: created_by_user_id + - key: last_update_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: deals + keys: + - key: deal_id + foreign-key: id + - key: org_id + foreign-key: org_id + - key: last_update_user_id + foreign-key: creator_user_id + - key: user_id + foreign-key: creator_user_id + - key: last_update_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: deal_products + keys: + - key: deal_id + foreign-key: deal_id + - table-name: files + keys: + - key: deal_id + foreign-key: deal_id + - key: id + foreign-key: note_id + - key: org_id + foreign-key: org_id + - key: person_id + foreign-key: person_id + - key: last_update_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: organizations + keys: + - key: org_id + foreign-key: id + - table-name: persons + keys: + - key: person_id + foreign-key: id + - table-name: dealflow + keys: + - key: last_update_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: filters + keys: + - key: last_update_user_id + foreign-key: user_id + - key: user_id + foreign-key: user_id + - table-name: users + keys: + - key: last_update_user_id + foreign-key: id + - key: user_id + foreign-key: id +- table-name: filters + join: + - table-name: activities + keys: + - key: user_id + foreign-key: assigned_to_user_id + - key: user_id + foreign-key: created_by_user_id + - key: user_id + foreign-key: user_id + - table-name: dealflow + keys: + - key: user_id + foreign-key: user_id + - table-name: deals + keys: + - key: user_id + foreign-key: creator_user_id + - key: user_id + foreign-key: user_id + - table-name: files + keys: + - key: user_id + foreign-key: user_id + - table-name: notes + keys: + - key: user_id + foreign-key: last_update_user_id + - key: user_id + foreign-key: user_id + - table-name: users + keys: + - key: user_id + foreign-key: id +- table-name: pipelines + join: + - table-name: deals + keys: + - key: id + foreign-key: pipeline_id + - table-name: stages + keys: + - key: id + foreign-key: pipeline_id +- table-name: stages + join: + - table-name: deals + keys: + - key: pipeline_id + foreign-key: pipeline_id + - key: id + foreign-key: stage_id + - table-name: pipelines + keys: + - key: pipeline_id + foreign-key: id +- table-name: products + join: + - table-name: deal_products + keys: + - key: id + foreign-key: product_id + - table-name: files + keys: + - key: id + foreign-key: product_id +- table-name: dealflow + join: + - table-name: activities + keys: + - key: user_id + foreign-key: assigned_to_user_id + - key: user_id + foreign-key: created_by_user_id + - key: user_id + foreign-key: user_id + - table-name: deals + keys: + - key: user_id + foreign-key: creator_user_id + - key: user_id + foreign-key: user_id + - table-name: files + keys: + - key: user_id + foreign-key: user_id + - table-name: filters + keys: + - key: user_id + foreign-key: user_id + - table-name: notes + keys: + - key: user_id + foreign-key: last_update_user_id + - key: user_id + foreign-key: user_id + - table-name: users + keys: + - key: user_id + foreign-key: id +- table-name: users + join: + - table-name: activities + keys: + - key: id + foreign-key: assigned_to_user_id + - key: id + foreign-key: created_by_user_id + - key: id + foreign-key: user_id + - table-name: dealflow + keys: + - key: id + foreign-key: user_id + - table-name: deals + keys: + - key: id + foreign-key: creator_user_id + - key: id + foreign-key: user_id + - table-name: files + keys: + - key: id + foreign-key: user_id + - table-name: filters + keys: + - key: id + foreign-key: user_id + - table-name: notes + keys: + - key: id + foreign-key: last_update_user_id + - key: id + foreign-key: user_id diff --git a/_data/taps/schemas/pipedrive/v2/pipedrive-v2-tables.yml b/_data/taps/schemas/pipedrive/v2/pipedrive-v2-tables.yml new file mode 100644 index 000000000..b32ae6ede --- /dev/null +++ b/_data/taps/schemas/pipedrive/v2/pipedrive-v2-tables.yml @@ -0,0 +1,202 @@ +tap: pipedrive +version: '2' +tables: +- name: activities + description: 'The `{{ table.name }}` table contains info about recent activities - + calls, tasks, lunches, etc. - recorded in your {{ integration.display_name }} + account. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/activities.json + api-method: https://developers.pipedrive.com/docs/api/v2/Activities#getActivities + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: activity_types + description: 'The `{{ table.name }}` table contains info about the different kinds + of activities in your {{ integration.display_name }} account. + + ' + links: + doc-link: https://developers.pipedrive.com/docs/api/v2/#!/ActivityTypes + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/activity_types.json + api-method: https://developers.pipedrive.com/docs/api/v2/#!/ActivityTypes/get_activityTypes + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: currency + description: 'The `{{ table.name }}` table contains info about the currencies listed + in your {{ integration.display_name }} account. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/currency.json + api-method: https://developers.pipedrive.com/docs/api/v2/#!/Currencies + table-details: + replication-method: Full Table + primary-key: id +- name: dealflow + description: 'The `{{ table.name }}` table contains info about the updates made + to a deal. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/dealflow.json + api-method: https://developers.pipedrive.com/docs/api/v2/#!/Deals/get_deals_id_flow + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: log_time +- name: deals + description: 'The `{{ table.name }}` table contains info about updates made recently + to the deals in your {{ integration.display_name }} account. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/deals.json + api-method: https://developers.pipedrive.com/docs/api/v2/Deals + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: deal_fields + description: 'The `{{ table.name }}` table contains info about all deal fields. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/deal_fields.json + api-method: https://developers.pipedrive.com/docs/api/v2/DealFields#getDealFields + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: deal_products + description: 'The `{{ table.name }}` table contains info about the products attached + to deals. + + ' + links: + doc-link: https://developers.pipedrive.com/docs/api/v2/#!/Deals + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/deal_products.json + api-method: https://developers.pipedrive.com/docs/api/v2/#!/Deals/get_deals_id_products + table-details: + replication-method: Full Table + primary-key: id +- name: files + description: 'The `{{ table.name }}` table contains info about the recently updated + files in your {{ integration.display_name }} account. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/recents/files.json + api-method: https://developers.pipedrive.com/docs/api/v2/#!/Recents + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: filters + description: 'The `{{ table.name }}` table contains info about the filters, or data + validation conditions, used in your {{ integration.display_name }} account. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/filters.json + api-method: https://developers.pipedrive.com/docs/api/v2/#!/Filters + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: notes + description: 'The `{{ table.name }}` table contains info about recent notes in your + {{ integration.display_name }} account. Notes are pieces of textual (HTML-formatted) + information that can be attached to [`deals`](#deals), [`persons`](#persons) and + [`organizations`](#organizations). + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/notes.json + api-method: https://developers.pipedrive.com/docs/api/v2/Notes#getNotes + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: organizations + description: 'The `{{ table.name }}` table contains info about the recent organizations + in your {{ integration.display_name }} account. Organizations are companies and + other types of organizations you are making deals with. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/organizations.json + api-method: https://developers.pipedrive.com/docs/api/v2/Organizations#getOrganizations + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: persons + description: 'The `{{ table.name }}` table contains info about the recent persons + in your {{ integration.display_name }} account. In {{ integration.display_name + }}, a person represents a contact, or a customer you''re doing a deal with. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/persons.json + api-method: https://developers.pipedrive.com/docs/api/v2/Persons + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: pipelines + description: 'The `{{ table.name }}` table contains info about the pipelines in + your {{ integration.display_name }} account. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/pipelines.json + api-method: https://developers.pipedrive.com/docs/api/v2/#!/Pipelines + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: products + description: 'The `{{ table.name }}` table contains info about the recent products + in your {{ integration.display_name }} account. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/products.json + api-method: https://developers.pipedrive.com/docs/api/v2/Products + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: stages + description: 'The `{{ table.name }}` table contains info about the pipeline stages + in your {{ integration.display_name }} account. + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/stages.json + api-method: https://developers.pipedrive.com/docs/api/v2/#!/Stages/get_stages + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: update_time +- name: users + description: 'The `{{ table.name }}` table contains info about the users associated + with your {{ integration.display_name }} account. **Note**: This table contains + info about the people with access to your {{ integration.display_name }} account + - they should not be confused with [`persons`](#persons). + + ' + links: + singer-schema: https://github.com/singer-io/tap-pipedrive/blob/master/tap_pipedrive/schemas/recents/users.json + api-method: https://developers.pipedrive.com/docs/api/v2/#!/Recents + table-details: + replication-method: Key-based Incremental + primary-key: id + replication-key: modified +tap-repo-schemas: true diff --git a/_data/taps/versions/pipedrive.yml b/_data/taps/versions/pipedrive.yml index 4e854ddfc..0e320e0fb 100644 --- a/_data/taps/versions/pipedrive.yml +++ b/_data/taps/versions/pipedrive.yml @@ -2,11 +2,15 @@ # PIPEDRIVE VERSIONS # # -------------------------- # -latest-version: "1" +latest-version: "2" released-versions: + - number: "2" + date-released: "May 5, 2026" + - number: "1" date-released: "June 18, 2018" + deprecation-date: "May 5, 2026" # date-last-connection: - number: "05-10-2016" diff --git a/_saas-integrations/pipedrive/v1/pipedrive-v1.md b/_saas-integrations/pipedrive/v1/pipedrive-v1.md index 9a36eaf40..524660003 100644 --- a/_saas-integrations/pipedrive/v1/pipedrive-v1.md +++ b/_saas-integrations/pipedrive/v1/pipedrive-v1.md @@ -13,7 +13,7 @@ # -------------------------- # title: Pipedrive (v1) -permalink: /integrations/saas/pipedrive +permalink: /integrations/saas/pipedrive/v1 keywords: pipedrive, integration, schema, etl pipedrive, pipedrive etl, pipedrive schema layout: singer # input: false diff --git a/_saas-integrations/pipedrive/v2/pipedrive-v2.md b/_saas-integrations/pipedrive/v2/pipedrive-v2.md new file mode 100644 index 000000000..4bcb01a54 --- /dev/null +++ b/_saas-integrations/pipedrive/v2/pipedrive-v2.md @@ -0,0 +1,138 @@ +--- +# -------------------------- # +# USING THIS TEMPLATE # +# -------------------------- # + +## NEED HELP USING THIS TEMPLATE? SEE: +## https://docs-about-stitch-docs.netlify.com/reference/integration-templates/saas/ +## FOR INSTRUCTIONS & REFERENCE INFO + + +# -------------------------- # +# Page & Formatting # +# -------------------------- # + +title: Pipedrive (v2) +permalink: /integrations/saas/pipedrive +keywords: pipedrive, integration, schema, etl pipedrive, pipedrive etl, pipedrive schema +layout: singer +# input: false + +key: "pipedrive-setup" + +# -------------------------- # +# Tap Details # +# -------------------------- # + +name: "pipedrive" +display_name: "Pipedrive" + +singer: true +tap-name: "Pipedrive" +repo-url: https://github.com/singer-io/tap-pipedrive + +this-version: "2" + +api: | + [{{ integration.display_name }} REST API](https://developers.pipedrive.com/docs/api/v2/){:target="new"} + +# -------------------------- # +# Stitch Details # +# -------------------------- # + +certified: true + +historical: "1 year" +frequency: "30 minutes" +tier: "Standard" +status-url: "http://status.pipedrive.com/" + +api-type: "platform.pipedrive" + +anchor-scheduling: true +cron-scheduling: true + +extraction-logs: true +loading-reports: true + +table-selection: true +column-selection: true + +# -------------------------- # +# Feature Summary # +# -------------------------- # + +feature-summary: | + Stitch's {{ integration.display_name }} integration replicates data using the {{ integration.api | flatify | strip }}. Refer to the [Schema](#schema) section for a list of objects available for replication. + + +# -------------------------- # +# Setup Instructions # +# -------------------------- # + +requirements-list: + - item: | + **Admin permissions in {{ integration.display_name }}.** These permissions are required to ensure Stitch can successfully replicate your {{ integration.display_name }} data. + +setup-steps: + - title: "Create a {{ integration.display_name }} user for Stitch" + anchor: "create-pipedrive-user" + content: | + To ensure Stitch can access and replicate all your data, the {{ integration.display_name }} credentials you use to connect to Stitch need **Admin permissions**. We recommend that you [create a separate {{ integration.display_name }} Admin user for Stitch](http://support.pipedrive.com/hc/en-us/articles/207319685-How-to-add-edit-remove-a-user){:target="new"}, but this isn’t mandatory to use the integration. Creating a user for us simply makes our activity easier to distinguish in logs and audits. + + **If you don’t want to create a user for us**, simply ensure that the credentials you use to connect to Stitch have Admin permissions. If the API token associated with a non-Admin user is used to set up the integration, Stitch may be unable to access and replicate all of your data. + + **Note**: Users are counted at the account-level in {{ integration.display_name }}, not the company level. If you want to create a user for us and are concerned about the cost of your {{ integration.display_name }} subscription, don’t worry - you won’t be charged twice. + + - title: "Retrieve your {{ integration.display_name }} API token" + anchor: "retrieve-pipedrive-api-token" + content: | + 1. If you created a {{ integration.display_name }} user for Stitch, sign into {{ integration.display_name }} as the Stitch user. + + If you didn’t, sign into {{ integration.display_name }} as an Admin user. + 2. Click the **user menu** (where your avatar is) in the top right corner of the screen. + 3. Click **Settings**. + 4. In the settings menu, click **API**. + 5. The user’s API Token will display: + + ![Personal API token in the Pipedrive app]({{ site.baseurl }}/images/integrations/pipedrive-api-token.png) + + Leave this page open for now - you'll need it to complete the setup in Stitch. + + - title: "Connect multiple {{ integration.display_name }} companies" + anchor: "connect-multiple-companies" + content: | + {% include note.html type="single-line" content="**Note**: Skip this step if you aren't connecting multiple Pipedrive companies." %} + If you want to connect more than one {{ integration.display_name }} company to Stitch, you’ll have to repeat the entire process in this article for every company you want to add. Essentially, you’ll have to create a separate {{ integration.display_name }} integration for each company. + + Our {{ integration.display_name }} integration uses an API Token to authenticate. **{{ integration.display_name }} API tokens are unique not only at the user level, but the company level as well**. This means that a user’s API Token will vary from company to company, even if everything is housed in the same {{ integration.display_name }} account. + + - title: "Add {{ integration.display_name }} as a Stitch data source" + anchor: "add-stitch-data-source" + content: | + {% include integrations/shared-setup/connection-setup.html %} + 4. In the **API Token** field, paste the API token you retrieved in [Step 2](#retrieve-pipedrive-api-token). + - title: "Define the historical replication start date" + anchor: "define-historical-sync" + content: | + {% include integrations/saas/setup/historical-sync.html %} + + - title: "Create a replication schedule" + anchor: "define-rep-frequency" + content: | + {% include integrations/shared-setup/replication-frequency.html %} + + - title: "Set objects to replicate" + anchor: "setting-data-to-replicate" + content: | + {% include integrations/shared-setup/data-selection/object-selection.html %} + +# -------------------------- # +# Integration Tables # +# -------------------------- # + +# Looking for the table schemas & info? +# Each table has a its own .md file in /_integration-schemas/pipedrive +--- +{% assign integration = page %} +{% include misc/data-files.html %} \ No newline at end of file