Reference

Endpoint Create Ticket (Single)


Name

post_ticket

Description

Creates one ticket at a time and wait until its created. Use BULK Table instead of this one to create multiple tickets. [API reference]

Related Tables

Tickets (Row by Row)

Parameters

Parameter Required Options
There are no parameters

Output Columns

Label Data Type (SSIS) Data Type (SQL) Length Description
id DT_I8 bigint
recipient DT_WSTR nvarchar(255) 255
subject DT_WSTR nvarchar(1000) 1000
status DT_WSTR nvarchar(28) 28
type DT_WSTR nvarchar(255) 255
priority DT_WSTR nvarchar(24) 24
description DT_NTEXT nvarchar(MAX)
external_id DT_WSTR nvarchar(255) 255
created_at DT_DBTIMESTAMP datetime
updated_at DT_DBTIMESTAMP datetime
raw_subject DT_WSTR nvarchar(1000) 1000
url DT_WSTR nvarchar(500) 500
comment_count DT_I8 bigint
requester_id DT_I8 bigint
submitter_id DT_I8 bigint
assignee_id DT_I8 bigint
organization_id DT_I8 bigint
group_id DT_I8 bigint
collaborator_ids DT_WSTR nvarchar(1000) 1000
collaborator_ids_1 DT_WSTR nvarchar(20) 20
collaborator_ids_2 DT_WSTR nvarchar(20) 20
collaborator_ids_3 DT_WSTR nvarchar(20) 20
follower_ids DT_WSTR nvarchar(1000) 1000
follower_ids_1 DT_WSTR nvarchar(20) 20
follower_ids_2 DT_WSTR nvarchar(20) 20
follower_ids_3 DT_WSTR nvarchar(20) 20
email_cc_ids DT_WSTR nvarchar(1000) 1000
email_cc_ids_1 DT_WSTR nvarchar(20) 20
email_cc_ids_2 DT_WSTR nvarchar(20) 20
email_cc_ids_3 DT_WSTR nvarchar(20) 20
forum_topic_id DT_WSTR nvarchar(255) 255
problem_id DT_WSTR nvarchar(255) 255
has_incidents DT_BOOL bit
is_public DT_BOOL bit
due_at DT_DBTIMESTAMP datetime
tags DT_WSTR nvarchar(1000) 1000
tags_1 DT_WSTR nvarchar(50) 50
tags_2 DT_WSTR nvarchar(50) 50
tags_3 DT_WSTR nvarchar(50) 50
tags_4 DT_WSTR nvarchar(50) 50
tags_5 DT_WSTR nvarchar(50) 50
custom_fields DT_WSTR nvarchar(1000) 1000
custom_fields_1_id DT_WSTR nvarchar(20) 20
custom_fields_1_value DT_WSTR nvarchar(1000) 1000
custom_fields_2_id DT_WSTR nvarchar(20) 20
custom_fields_2_value DT_WSTR nvarchar(1000) 1000
custom_fields_3_id DT_WSTR nvarchar(20) 20
custom_fields_3_value DT_WSTR nvarchar(1000) 1000
custom_fields_4_id DT_WSTR nvarchar(20) 20
custom_fields_4_value DT_WSTR nvarchar(1000) 1000
custom_fields_5_id DT_WSTR nvarchar(20) 20
custom_fields_5_value DT_WSTR nvarchar(1000) 1000
via_followup_source_id DT_I8 bigint
satisfaction_rating_id DT_I8 bigint
satisfaction_rating_score DT_WSTR nvarchar(20) 20
satisfaction_rating_comment DT_WSTR nvarchar(1000) 1000
sharing_agreement_ids DT_WSTR nvarchar(255) 255
fields DT_WSTR nvarchar(1000) 1000
followup_ids DT_WSTR nvarchar(1000) 1000
brand_id DT_I8 bigint
allow_channelback DT_BOOL bit
allow_attachments DT_BOOL bit
via_channel DT_WSTR nvarchar(100) 100
via_source_rel DT_WSTR nvarchar(255) 255
via_source_from_address DT_WSTR nvarchar(500) 500
via_source_from_name DT_WSTR nvarchar(500) 500
via_source_to_name DT_WSTR nvarchar(500) 500
via_source_to_address DT_WSTR nvarchar(500) 500
via_source_from_ticket_id DT_I8 bigint
via_source_from_subject DT_WSTR nvarchar(1000) 1000
via_source_from_channel DT_WSTR nvarchar(50) 50
custom_field_[$parent.id$] 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
subject DT_WSTR nvarchar(1012) 1012
recipient DT_WSTR nvarchar(255) 255
status DT_WSTR nvarchar(28) 28
type DT_WSTR nvarchar(255) 255
priority DT_WSTR nvarchar(24) 24
comment_body DT_NTEXT nvarchar(MAX)
comment_body_html DT_NTEXT nvarchar(MAX)
comment_public DT_BOOL bit
comment_author_id DT_I8 bigint
tags DT_WSTR nvarchar(1000) 1000
custom_fields DT_WSTR nvarchar(1000) 1000
external_id DT_WSTR nvarchar(255) 255
requester_name DT_WSTR nvarchar(255) 255
requester_email DT_WSTR nvarchar(255) 255
requester_id DT_I8 bigint
submitter_id DT_I8 bigint
assignee_id DT_I8 bigint
organization_id DT_I8 bigint
group_id DT_I8 bigint
collaborator_ids DT_WSTR nvarchar(1000) 1000
follower_ids DT_WSTR nvarchar(1000) 1000
email_cc_ids DT_WSTR nvarchar(1000) 1000
forum_topic_id DT_WSTR nvarchar(255) 255
problem_id DT_WSTR nvarchar(255) 255
is_public DT_BOOL bit
due_at DT_DBTIMESTAMP datetime
sharing_agreement_ids DT_WSTR nvarchar(255) 255
fields DT_WSTR nvarchar(1000) 1000
followup_ids DT_WSTR nvarchar(1000) 1000
brand_id DT_I8 bigint
allow_channelback DT_BOOL bit
allow_attachments 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 Tickets (Row by Row) table, therefore it is better to use it, instead of accessing the endpoint directly. Use this table and table-operation pair to create ticket:

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
Tickets (Row by Row)
Insert
There are no parameters to configure.
SSIS API Destination - Access table operation

ODBC application

Use these SQL queries in your ODBC application data source:

Create a new ticket

Use Tickets_Bulk instead of Tickets table if you like to multiple tickets at once. Tickets_Bulk table supports BULK operation (using SOURCE clause).

INSERT INTO Tickets(
	subject
	,status
	,assignee_id
	,comment_body_html --(for html body)
	--,comment_body (for plain text)
	,comment_public
	,tags
	,custom_fields)
VALUES(
  'Test Ticket Subject - From email'
, 'new' --new, solved, closed
, 18590685428 --assign to agent id
, 'This is <b>html body</b>' --markup also supported
, 1 --1=public, 0=private 
, '["tag1","tag2"]' 
  --below json can be obtained using select custom_fields from tickets where id=1234
, '[
  {
    "id": 56608448,
    "value": "1122"
  },
  {
    "id": 57385967,
    "value": "ORD-12345"
  }
]'
)

Create a new ticket (behalf of user)

This example creates ticket behalf of user (i.e. requester_email and requester_name) and if user is missing then creates a new user for supplied username and email. Use Tickets_Bulk instead of Tickets table if you like to multiple tickets at once. Tickets_Bulk table supports BULK operation (using SOURCE clause).

INSERT INTO Tickets(
	subject
	,status
	,requester_email
	,requester_name
	,assignee_id 
	--,group_id --or assign to group
	,comment_body_html --(for html body)
	--,comment_body (for plain text)
	,comment_public
	,tags
	,custom_fields)
VALUES(
  'Test Ticket Subject - From email'
, 'new' --new, solved, closed
, 'fromsomeuser@abc.com' --from email
, 'Bob Smith' --submitter name needed if its new user
, 18590685428 --assign to agent id
--,123435454 --or use group id if not assignee 
, 'This is <b>html body</b>' --markup also supported
--, 'This is plain text'
, 1 --1=public, 0=private 
, '["tag1","tag2"]' 
  --below json can be obtained using select custom_fields from tickets where id=1234
, '[
  {
    "id": 56608448,
    "value": "1122"
  },
  {
    "id": 57385967,
    "value": "ORD-12345"
  }
]'
)

Create a new ticket using Raw JSON Body approach

INSERT INTO Tickets(_rawdoc_) 
VALUES(
  '{
      "subject": "Test ticket #1",    
      "comment": {
        "body": "Test ticket #1"
      },
      "priority": "urgent"
    }'
)

post_ticket endpoint belongs to Tickets 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:

Create a new ticket

Use Tickets_Bulk instead of Tickets table if you like to multiple tickets at once. Tickets_Bulk table supports BULK operation (using SOURCE clause).

DECLARE @MyQuery NVARCHAR(MAX) = 'INSERT INTO Tickets(
	subject
	,status
	,assignee_id
	,comment_body_html --(for html body)
	--,comment_body (for plain text)
	,comment_public
	,tags
	,custom_fields)
VALUES(
  ''Test Ticket Subject - From email''
, ''new'' --new, solved, closed
, 18590685428 --assign to agent id
, ''This is <b>html body</b>'' --markup also supported
, 1 --1=public, 0=private 
, ''["tag1","tag2"]'' 
  --below json can be obtained using select custom_fields from tickets where id=1234
, ''[
  {
    "id": 56608448,
    "value": "1122"
  },
  {
    "id": 57385967,
    "value": "ORD-12345"
  }
]''
)';

EXEC (@MyQuery) AT [LS_TO_ZENDESK_IN_GATEWAY];

Create a new ticket (behalf of user)

This example creates ticket behalf of user (i.e. requester_email and requester_name) and if user is missing then creates a new user for supplied username and email. Use Tickets_Bulk instead of Tickets table if you like to multiple tickets at once. Tickets_Bulk table supports BULK operation (using SOURCE clause).

DECLARE @MyQuery NVARCHAR(MAX) = 'INSERT INTO Tickets(
	subject
	,status
	,requester_email
	,requester_name
	,assignee_id 
	--,group_id --or assign to group
	,comment_body_html --(for html body)
	--,comment_body (for plain text)
	,comment_public
	,tags
	,custom_fields)
VALUES(
  ''Test Ticket Subject - From email''
, ''new'' --new, solved, closed
, ''fromsomeuser@abc.com'' --from email
, ''Bob Smith'' --submitter name needed if its new user
, 18590685428 --assign to agent id
--,123435454 --or use group id if not assignee 
, ''This is <b>html body</b>'' --markup also supported
--, ''This is plain text''
, 1 --1=public, 0=private 
, ''["tag1","tag2"]'' 
  --below json can be obtained using select custom_fields from tickets where id=1234
, ''[
  {
    "id": 56608448,
    "value": "1122"
  },
  {
    "id": 57385967,
    "value": "ORD-12345"
  }
]''
)';

EXEC (@MyQuery) AT [LS_TO_ZENDESK_IN_GATEWAY];

Create a new ticket using Raw JSON Body approach

DECLARE @MyQuery NVARCHAR(MAX) = 'INSERT INTO Tickets(_rawdoc_) 
VALUES(
  ''{
      "subject": "Test ticket #1",    
      "comment": {
        "body": "Test ticket #1"
      },
      "priority": "urgent"
    }''
)';

EXEC (@MyQuery) AT [LS_TO_ZENDESK_IN_GATEWAY];

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