Reference

Endpoint Upsert Organization - Create or Update


Name

upsert_organization

Description

Create or Update an organization in (Upsert) [API reference]

Related Tables

Organizations

Parameters

Parameter Required Options
There are no parameters

Output Columns

Label Data Type (SSIS) Data Type (SQL) Length Description
id DT_I8 bigint
name DT_WSTR nvarchar(500) 500
notes DT_WSTR nvarchar(4000) 4000
created_at DT_DBTIMESTAMP datetime
details DT_WSTR nvarchar(4000) 4000
domain_names DT_WSTR nvarchar(144) 144
domain_names_1 DT_WSTR nvarchar(255) 255
domain_names_2 DT_WSTR nvarchar(255) 255
domain_names_3 DT_WSTR nvarchar(255) 255
external_id DT_WSTR nvarchar(500) 500
group_id DT_I8 bigint
shared_comments DT_BOOL bit
shared_tickets DT_BOOL bit
tags DT_WSTR nvarchar(144) 144
tags_1 DT_WSTR nvarchar(500) 500
tags_2 DT_WSTR nvarchar(500) 500
tags_3 DT_WSTR nvarchar(500) 500
tags_4 DT_WSTR nvarchar(500) 500
tags_5 DT_WSTR nvarchar(500) 500
updated_at DT_DBTIMESTAMP datetime
url DT_WSTR nvarchar(500) 500
organization_field_dt_[$parent.key$] DT_WSTR nvarchar(4000) 4000
organization_field_[$parent.key$] DT_WSTR nvarchar(4000) 4000
If the column you are looking for is missing, consider customizing Zendesk Connector.

Input Columns

Label Data Type (SSIS) Data Type (SQL) Length Description
id DT_I8 bigint
name DT_WSTR nvarchar(500) 500
notes DT_WSTR nvarchar(4000) 4000
external_id DT_WSTR nvarchar(500) 500
group_id DT_I8 bigint
details DT_WSTR nvarchar(4000) 4000
tags DT_WSTR nvarchar(4000) 4000
organization_fields DT_WSTR nvarchar(4000) 4000
domain_names DT_WSTR nvarchar(1000) 1000
shared_comments DT_BOOL bit
shared_tickets DT_BOOL bit
Required columns that you need to supply are bolded.

Examples

SSIS

Use Zendesk Connector in API Source or in API Destination SSIS Data Flow components to read or write data.

API Destination

This Endpoint belongs to the Organizations table, therefore it is better to use it, instead of accessing the endpoint directly. Use this table and table-operation pair to upsert organization - create or update:

API Destination - Zendesk
Zendesk Connector can be used to integrate Zendesk REST API in your App / BI Tools. You can read/write data about Tickets, Activity, Users, Organizations and more.
Zendesk
Organizations
Upsert
There are no parameters to configure.
SSIS API Destination - Access table operation

ODBC application

Use these SQL queries in your ODBC application data source:

Upsert Organization (Create or Update)

Creates an organization if the organization does not already exist, or updates an existing organization identified by e-mail address or external ID.

UPSERT INTO Organizations
(
	 name
	--id or external_id can be supplied for UPSERT
	,id 
	--or--
	,external_id
	 
	,group_id 
	,tags
	,details
	,notes
	,organization_fields
	,domain_names
	,shared_tickets
	,shared_comments
)
VALUES(
	'Abc Inc'
	,1234567 --id
	--or--
	,'zcrm_1558554000052161270'  --external_id
	
	,114094762733  
	,'["paid","trial","solved"]' 
	,'some details'
	,'some notes'
	,'{"startdate": "1981-01-23", "revenue": 12000000.50, "somenumber": 1235678}'
	,'["aaa.com", "bbb.com"]'
	,'false'
	,'false'
)

Bulk Import Mode for Users or Organizations

This example shows how to upsert in bulk mode from external data and import into Zendesk. We used Microsoft SQL Server as source system in below example with static value query (just one row) but it can be any number of rows.

UPSERT INTO Organizations
SOURCE('MSSQL' --ODBC
, 'Data Source=localhost;Initial Catalog=test;Integrated Security=true'

--For bulk input, map columns in External Query (Must use alias column name to match INSERT command Input Column names - see help file)
--If parameter value not same for all input rows then you can prefix some column with $$ to map as parameter (i.e. $$MyParam1)
--'ODBC', 'Driver={ZappySys CSV Driver};DataPath=C:\AccountsToInsert.csv'
--'ODBC', 'DSN=MyDSN'
--'OLEDB', 'Provider=SQLNCLI11;Server=localhost,1433;Database=tempdb;Trusted_Connection=yes;'

, 'select
      21863188631451 as id
    , ''Abc Inc'' as name
	,''zcrm_1558554000052161270'' as external_id
	,114094762733  as group_id
	,''["paid","trial","solved"]'' as tags
	,''some details'' as details
	,''some notes'' as notes
	,''{"startdate": "1981-01-23", "revenue": 12000000.50, "somenumber": 1235678}'' as organization_fields
	,''["aaa.com", "bbb.com"]'' domain_names
	,''false'' as shared_tickets
	,''false'' as shared_comments
')

upsert_organization endpoint belongs to Organizations table(s), and can therefore be used via those table(s).

SQL Server

Use these SQL queries in SQL Server after you create a data source in Data Gateway:

Upsert Organization (Create or Update)

Creates an organization if the organization does not already exist, or updates an existing organization identified by e-mail address or external ID.

DECLARE @MyQuery NVARCHAR(MAX) = 'UPSERT INTO Organizations
(
	 name
	--id or external_id can be supplied for UPSERT
	,id 
	--or--
	,external_id
	 
	,group_id 
	,tags
	,details
	,notes
	,organization_fields
	,domain_names
	,shared_tickets
	,shared_comments
)
VALUES(
	''Abc Inc''
	,1234567 --id
	--or--
	,''zcrm_1558554000052161270''  --external_id
	
	,114094762733  
	,''["paid","trial","solved"]'' 
	,''some details''
	,''some notes''
	,''{"startdate": "1981-01-23", "revenue": 12000000.50, "somenumber": 1235678}''
	,''["aaa.com", "bbb.com"]''
	,''false''
	,''false''
)';

EXEC (@MyQuery) AT [LS_TO_ZENDESK_IN_GATEWAY];

Bulk Import Mode for Users or Organizations

This example shows how to upsert in bulk mode from external data and import into Zendesk. We used Microsoft SQL Server as source system in below example with static value query (just one row) but it can be any number of rows.

DECLARE @MyQuery NVARCHAR(MAX) = 'UPSERT INTO Organizations
SOURCE(''MSSQL'' --ODBC
, ''Data Source=localhost;Initial Catalog=test;Integrated Security=true''

--For bulk input, map columns in External Query (Must use alias column name to match INSERT command Input Column names - see help file)
--If parameter value not same for all input rows then you can prefix some column with $$ to map as parameter (i.e. $$MyParam1)
--''ODBC'', ''Driver={ZappySys CSV Driver};DataPath=C:\AccountsToInsert.csv''
--''ODBC'', ''DSN=MyDSN''
--''OLEDB'', ''Provider=SQLNCLI11;Server=localhost,1433;Database=tempdb;Trusted_Connection=yes;''

, ''select
      21863188631451 as id
    , ''''Abc Inc'''' as name
	,''''zcrm_1558554000052161270'''' as external_id
	,114094762733  as group_id
	,''''["paid","trial","solved"]'''' as tags
	,''''some details'''' as details
	,''''some notes'''' as notes
	,''''{"startdate": "1981-01-23", "revenue": 12000000.50, "somenumber": 1235678}'''' as organization_fields
	,''''["aaa.com", "bbb.com"]'''' domain_names
	,''''false'''' as shared_tickets
	,''''false'''' as shared_comments
'')';

EXEC (@MyQuery) AT [LS_TO_ZENDESK_IN_GATEWAY];

upsert_organization endpoint belongs to Organizations table(s), and can therefore be used via those table(s).