How-to :

First, you'll need to add the datasource connection in Elements Connect :


Now that we have linked our datasource, we'll define datasets.

We'll create 3 datasets :

  • AirCleaner products
  • WaterCleaner products
  • GroundCleaner products


AirCleaner dataset :

On dataset page, click on "Create a new Dataset"

Give this dataset a name : "AirCleaner Products" by example.

Select your datasource you created in the previous step. Here: products


In the SQL query, Use this following :
AirCleaner

select "name", "model", "type"
from "products"
where "type" = 'AirCleaner'

Try to execute it and see that it only returned the AirCleaner products.

Now we need to define what data we want to be displayed in ticket field values.

We want only the model and the name and we want to be displayed with nested menu.

Then we will define this template :

{model}::{name}

We can preview the result by clicking preview button.

As everything looks fine, we can save it by clicking the "Create" button.

The next step is to do the same for WaterCleaner and GroundCleaner. We just need to change the filter in the SQL query.


As all dataset are configured, we can now move to the sync field creation.

On the sync field menu, click on "Create a new sync field".

We will create 3 sync fields, one synced to each dataset.

On the sync field creation menu, select New field :

In the new field creation page, fill it as following, it's very similar to custom ticket field creation from Zendesk administration.

Name : AirCleaner products

Type : Drop-down

Permission: Editable by End-user and required to submit a ticket.(we want the end user to select the product he have trouble with when creating a ticket)

Field values: Select from the drop-down one of the dataset we created, here, AirCleaner products

When everything is ready, we can click on "Save and Sync" button to launch the creation of the Custom ticket field and synchronize the values with the datasource.

We now need to do it again for WaterCleaner and GroundCleaner.

Status are in green, it means that the synchronisation went well. If not, check the troubleshooting page in our documentation.

Our work in Elements Connect is done here.

Now, let's go to Zendesk ticket field administration.

We can see that we have our 3 sync fields.

Let's now create a new drop-down ticket field called "Tellurian Products".

This field will be as the sync fields Editable by End-user and required to submit a ticket

This ticket field will have 3 values :

  • AirCleaner
  • WaterCleaner
  • GroundCleaner

Now, let's create a new Ticket Form in Zendesk administration:

In the new ticket form called "Tellurian", we add, the four Ticket fields that we created.

  • Tellurian products
  • AirCleaner products
  • WaterCleaner products
  • GroundCleaner products

And select : Editable for end-users and give a title for end-users, here we set it with "I have a problem on my Tellurian product"..

Then click the Save button.

Back on the Ticket form menu, click on the menu right to the Tellurian form and then select "Conditions" (Conditions options are available starting Enterprise Zendesk plan, if you don't have Enterprise plan, we propose a workaround in the bonus part of this tutorial)

Then select conditions for End-users :

Click then on the button Add Condition:

Then fill with these values:

When filled out this field : Tellurian products

if values is : AirCleaner

Then show these fields : AirCleaner products

click on Add another and then on the Add button and do the same for WaterCleaner and Ground Cleaner.

Then click on the save button, we have defined our dynamic form.

Last thing to do will be to set this form as widget form.

For that, go in the widget administration :

If your form isn't set as Default and you want it to be visible for End user when creating a ticket, you'll need to set Ticket forms to "Replace the default contact form.".

And it's done.

Now if you open your website where you have your widget in or even your Guide platform if you have it you can see the results:

Bonus :

If you don't have the Zendesk Enterprise Plan or Higher, you don't have the possibility of having conditionals fields in the Ticket forms.

Using Elements Connect, you can still add a pre-filter on the products type.

Then you'll just need only one dataset and one Sync field.

If you set only one dataset with following values :


Tellurian dataset :

On dataset page, click on "Create a new Dataset"

Give this dataset a name : "Tellurian Products" by example.

Select the products datasource.


In the SQL query, Use this following (no need to filter):
AirCleaner

select "name", "model", "type"
from "products"


Now we need to define what data we want to be displayed in ticket field values.

We want the type, model and the name and we want to be displayed with nested menu.

Then we will define this template :

{type}::{model}::{name}

As everything looks fine, we can save it by clicking the "Create" button.

Then now, create a new sync field with Tellurian products dataset as field values.

Add this field to the ticket form:

And then on the End-user side :