mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
feat: hubspot wrapper (#35059)
* feat: slack fdw * fix slack options * feat: cloudflare d1 fdw * feat: hubspot wrapper * up minimum version * update description and add missing objects * fix this one again
This commit is contained in:
1 parent
40aceb7e68
commit
659e9130dd
3 files changed
+293
No files matched your search
@@ -21,6 +21,7 @@ export const WRAPPER_HANDLERS = {
|
||||
NOTION: 'wasm_fdw_handler',
|
||||
SLACK: 'wasm_fdw_handler',
|
||||
CLOUDFLARE_D1: 'wasm_fdw_handler',
|
||||
HUBSPOT: 'wasm_fdw_handler',
|
||||
}
|
||||
|
||||
export const WRAPPERS: WrapperMeta[] = [
|
||||
@@ -3453,4 +3454,292 @@ export const WRAPPERS: WrapperMeta[] = [
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'hubspot_wrapper',
|
||||
description: 'Query and sync HubSpot CRM data using the Wasm FDW.',
|
||||
handlerName: WRAPPER_HANDLERS.HUBSPOT,
|
||||
validatorName: 'wasm_fdw_validator',
|
||||
icon: `${BASE_PATH}/img/icons/hubspot-icon.svg`,
|
||||
extensionName: 'HubspotFdw',
|
||||
label: 'HubSpot',
|
||||
docsUrl: 'https://fdw.dev/catalog/hubspot/',
|
||||
minimumExtensionVersion: '0.4.0',
|
||||
server: {
|
||||
options: [
|
||||
{
|
||||
name: 'fdw_package_url',
|
||||
label: 'FDW Package URL',
|
||||
required: true,
|
||||
encrypted: false,
|
||||
secureEntry: false,
|
||||
defaultValue:
|
||||
'https://github.com/supabase/wrappers/releases/download/wasm_hubspot_fdw_v0.1.0/hubspot_fdw.wasm',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
name: 'fdw_package_name',
|
||||
label: 'FDW Package Name',
|
||||
required: true,
|
||||
encrypted: false,
|
||||
secureEntry: false,
|
||||
defaultValue: 'supabase:hubspot-fdw',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
name: 'fdw_package_version',
|
||||
label: 'FDW Package Version',
|
||||
required: true,
|
||||
encrypted: false,
|
||||
secureEntry: false,
|
||||
defaultValue: '0.1.0',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
name: 'fdw_package_checksum',
|
||||
label: 'FDW Package Checksum',
|
||||
required: true,
|
||||
encrypted: false,
|
||||
secureEntry: false,
|
||||
defaultValue: '2cbf39e9e28aa732a225db09b2186a2342c44697d4fa047652d358e292ba5521',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
name: 'api_url',
|
||||
label: 'API URL',
|
||||
required: false,
|
||||
encrypted: false,
|
||||
secureEntry: false,
|
||||
defaultValue: 'https://api.hubapi.com/crm/v3',
|
||||
},
|
||||
{
|
||||
name: 'api_key_id',
|
||||
label: 'HubSpot API Key',
|
||||
required: true,
|
||||
encrypted: true,
|
||||
secureEntry: true,
|
||||
urlHelper: 'https://app.hubspot.com/api-key',
|
||||
},
|
||||
],
|
||||
},
|
||||
tables: [
|
||||
{
|
||||
label: 'Companies',
|
||||
description: 'Companies and organizations in your HubSpot CRM',
|
||||
availableColumns: [
|
||||
{ name: 'id', type: 'text' },
|
||||
{ name: 'name', type: 'text' },
|
||||
{ name: 'domain', type: 'text' },
|
||||
{ name: 'created_at', type: 'timestamp' },
|
||||
{ name: 'updated_at', type: 'timestamp' },
|
||||
{ name: 'attrs', type: 'jsonb' },
|
||||
],
|
||||
options: [
|
||||
{
|
||||
name: 'object',
|
||||
defaultValue: 'objects/companies',
|
||||
editable: false,
|
||||
required: true,
|
||||
type: 'text',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Contacts',
|
||||
description: 'Contacts in your HubSpot CRM',
|
||||
availableColumns: [
|
||||
{ name: 'id', type: 'text' },
|
||||
{ name: 'email', type: 'text' },
|
||||
{ name: 'firstname', type: 'text' },
|
||||
{ name: 'lastname', type: 'text' },
|
||||
{ name: 'created_at', type: 'timestamp' },
|
||||
{ name: 'updated_at', type: 'timestamp' },
|
||||
{ name: 'attrs', type: 'jsonb' },
|
||||
],
|
||||
options: [
|
||||
{
|
||||
name: 'object',
|
||||
defaultValue: 'objects/contacts',
|
||||
editable: false,
|
||||
required: true,
|
||||
type: 'text',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Deals',
|
||||
description: 'Deals and transactions in your HubSpot CRM',
|
||||
availableColumns: [
|
||||
{ name: 'id', type: 'text' },
|
||||
{ name: 'created_at', type: 'timestamp' },
|
||||
{ name: 'updated_at', type: 'timestamp' },
|
||||
{ name: 'attrs', type: 'jsonb' },
|
||||
],
|
||||
options: [
|
||||
{
|
||||
name: 'object',
|
||||
defaultValue: 'objects/deals',
|
||||
editable: false,
|
||||
required: true,
|
||||
type: 'text',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Tickets',
|
||||
description: 'Customer service requests in your HubSpot CRM',
|
||||
availableColumns: [
|
||||
{ name: 'id', type: 'text' },
|
||||
{ name: 'subject', type: 'text' },
|
||||
{ name: 'created_at', type: 'timestamp' },
|
||||
{ name: 'updated_at', type: 'timestamp' },
|
||||
{ name: 'attrs', type: 'jsonb' },
|
||||
],
|
||||
options: [
|
||||
{
|
||||
name: 'object',
|
||||
defaultValue: 'objects/tickets',
|
||||
editable: false,
|
||||
required: true,
|
||||
type: 'text',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Products',
|
||||
description: 'Products offered by your company in HubSpot',
|
||||
availableColumns: [
|
||||
{ name: 'id', type: 'text' },
|
||||
{ name: 'name', type: 'text' },
|
||||
{ name: 'created_at', type: 'timestamp' },
|
||||
{ name: 'updated_at', type: 'timestamp' },
|
||||
{ name: 'attrs', type: 'jsonb' },
|
||||
],
|
||||
options: [
|
||||
{
|
||||
name: 'object',
|
||||
defaultValue: 'objects/products',
|
||||
editable: false,
|
||||
required: true,
|
||||
type: 'text',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Leads',
|
||||
description: 'Potential customers in your HubSpot CRM',
|
||||
availableColumns: [
|
||||
{ name: 'id', type: 'text' },
|
||||
{ name: 'created_at', type: 'timestamp' },
|
||||
{ name: 'updated_at', type: 'timestamp' },
|
||||
{ name: 'attrs', type: 'jsonb' },
|
||||
],
|
||||
options: [
|
||||
{
|
||||
name: 'object',
|
||||
defaultValue: 'objects/leads',
|
||||
editable: false,
|
||||
required: true,
|
||||
type: 'text',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Partner Clients',
|
||||
description: 'Partner clients managed by your company in HubSpot',
|
||||
availableColumns: [
|
||||
{ name: 'id', type: 'text' },
|
||||
{ name: 'created_at', type: 'timestamp' },
|
||||
{ name: 'updated_at', type: 'timestamp' },
|
||||
{ name: 'attrs', type: 'jsonb' },
|
||||
],
|
||||
options: [
|
||||
{
|
||||
name: 'object',
|
||||
defaultValue: 'objects/partner_clients',
|
||||
editable: false,
|
||||
required: true,
|
||||
type: 'text',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Feedback Submissions',
|
||||
description: 'Feedback submissions from NPS, CSAT, CES, and custom surveys',
|
||||
availableColumns: [
|
||||
{ name: 'id', type: 'text' },
|
||||
{ name: 'created_at', type: 'timestamp' },
|
||||
{ name: 'updated_at', type: 'timestamp' },
|
||||
{ name: 'attrs', type: 'jsonb' },
|
||||
],
|
||||
options: [
|
||||
{
|
||||
name: 'object',
|
||||
defaultValue: 'objects/feedback_submissions',
|
||||
editable: false,
|
||||
required: true,
|
||||
type: 'text',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Custom Object',
|
||||
description: 'Custom objects managed by your company in HubSpot',
|
||||
availableColumns: [
|
||||
{ name: 'id', type: 'text' },
|
||||
{ name: 'created_at', type: 'timestamp' },
|
||||
{ name: 'updated_at', type: 'timestamp' },
|
||||
{ name: 'attrs', type: 'jsonb' },
|
||||
],
|
||||
options: [
|
||||
{
|
||||
label: 'Object',
|
||||
name: 'object',
|
||||
placeholder: 'objects/<objectType> e.g. `objects/2-3508482`',
|
||||
defaultValue: 'objects/<objectType>',
|
||||
editable: true,
|
||||
required: true,
|
||||
type: 'text',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Goals',
|
||||
description: 'User-specific quotas for sales and services teams',
|
||||
availableColumns: [
|
||||
{ name: 'id', type: 'text' },
|
||||
{ name: 'created_at', type: 'timestamp' },
|
||||
{ name: 'updated_at', type: 'timestamp' },
|
||||
{ name: 'attrs', type: 'jsonb' },
|
||||
],
|
||||
options: [
|
||||
{
|
||||
name: 'object',
|
||||
defaultValue: 'objects/goal_targets',
|
||||
editable: false,
|
||||
required: true,
|
||||
type: 'text',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Partner Clients',
|
||||
description: 'Customers that Solutions Partners have a sold or managed relationship with',
|
||||
availableColumns: [
|
||||
{ name: 'id', type: 'text' },
|
||||
{ name: 'created_at', type: 'timestamp' },
|
||||
{ name: 'updated_at', type: 'timestamp' },
|
||||
{ name: 'attrs', type: 'jsonb' },
|
||||
],
|
||||
options: [
|
||||
{
|
||||
name: 'object',
|
||||
defaultValue: 'objects/partner_clients',
|
||||
editable: false,
|
||||
required: true,
|
||||
type: 'text',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
@@ -0,0 +1 @@
|
||||
<svg height="2500" viewBox="6.20856283 .64498824 244.26943717 251.24701176" width="2500" xmlns="http://www.w3.org/2000/svg"><path d="m191.385 85.694v-29.506a22.722 22.722 0 0 0 13.101-20.48v-.677c0-12.549-10.173-22.722-22.721-22.722h-.678c-12.549 0-22.722 10.173-22.722 22.722v.677a22.722 22.722 0 0 0 13.101 20.48v29.506a64.342 64.342 0 0 0 -30.594 13.47l-80.922-63.03c.577-2.083.878-4.225.912-6.375a25.6 25.6 0 1 0 -25.633 25.55 25.323 25.323 0 0 0 12.607-3.43l79.685 62.007c-14.65 22.131-14.258 50.974.987 72.7l-24.236 24.243c-1.96-.626-4-.959-6.057-.987-11.607.01-21.01 9.423-21.007 21.03.003 11.606 9.412 21.014 21.018 21.017 11.607.003 21.02-9.4 21.03-21.007a20.747 20.747 0 0 0 -.988-6.056l23.976-23.985c21.423 16.492 50.846 17.913 73.759 3.562 22.912-14.352 34.475-41.446 28.985-67.918-5.49-26.473-26.873-46.734-53.603-50.792m-9.938 97.044a33.17 33.17 0 1 1 0-66.316c17.85.625 32 15.272 32.01 33.134.008 17.86-14.127 32.522-31.977 33.165" fill="#ff7a59"/></svg>
|
||||
|
After Width: | Height: | Size: 969 B |
@@ -0,0 +1,3 @@
|
||||
HubSpot is a developer and marketer of software products for inbound marketing, sales, and customer service.
|
||||
|
||||
The HubSpot Wrapper is a WebAssembly(Wasm) foreign data wrapper which allows you to read data from your HubSpot for use within your Postgres database.
|
||||
Reference in new issue
Block a user