Skip to main content
Question

How to create Trello cards from Intercom tickets and update tickets when cards move?

  • 13 June 2024
  • 3 replies
  • 24 views

We have a zap set up currently; when a new ticket is created in Intercom, we check the ticket type, i.e. “Feature request”, and create a Trello card on our “Feature request” board in Trello.

Let’s say our team completes the “Feature request”, they would manually move the card to the completed list once the “Feature request” has been implemented.

When the card is moved to the completed list, we want to be able to update the ticket to say the “Feature request” has been completed.

Currently, we can create the card on the correct board, but we’re unsure how to use the data from the previous steps, and also, how to create a trigger for when the card is moved to the correct list. We have the list ID and the cardID, we’re just unsure how to set this up in Zapier.

Potentially webhooks are the answer? Do we post the data to our app for reference and then get Trello to post a webhook when a card moves list?

Any help would be appreciated.

 

 

This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

3 replies

Userlevel 7
Badge +14

Hi @zapo 

Help us have more context by posting screenshots with how your Zap steps are outlined and configured in EDIT mode.

On the Trello Card, use a custom field to save the Intercom Ticket ID.

Then you may have to use the Intercom API to update a Ticket based on the ID.

https://developers.intercom.com/docs/references/rest-api/api.intercom.io/Tickets/updateTicket/

 

Hey Troy,

Thanks for your help on this! Really appreciated.

Apologies for the delay.

This is the Zap setup:

 

 

Our trigger: When a new ticket is created in Intercom

This is the data received:

 

Type: ticket
ID: 111111
Ticket Id: 222222
ticket_attributes
Ticket Attributes Default Title: xxxxx
Ticket Attributes Default Description: xxxxx
Ticket State: submitted
ticket_type
Ticket Type Type: ticket_type
Ticket Type Id: 333333
Ticket Type Name: Provide feedback
Ticket Type Description: xxxxx
Ticket Type Icon: x
Ticket Type Workspace Id: 444444
Ticket Type Archived: archived
Ticket Type Created At: xxxxxxxxxx
Ticket Type Updated At: xxxxxxxxxx
Ticket Type Is Internal: is_internal
ticket_type_attributes
Ticket Type Ticket Type Attributes Type: list
data
1
type: ticket_type_attribute
id: 555555
workspace_id: 444444
name: _default_title_
description
data_type: string
input_options
multiline: no
order: 0
required_to_create: no
required_to_create_for_contacts: no
visible_on_create: yes
visible_to_contacts: yes
default: yes
ticket_type_id: x
archived: no
created_at: xxxxxxxxxx
updated_at: xxxxxxxxxx
2
type: ticket_type_attribute
id: 666666
workspace_id: 444444
name: _default_description_
description
data_type: string
input_options
multiline: no
order: 1
required_to_create: no
required_to_create_for_contacts: no
visible_on_create: yes
visible_to_contacts: yes
default: yes
ticket_type_id: x
archived: no
created_at: xxxxxxxxxx
updated_at: xxxxxxxxxx
Ticket Type Category: Customer
contacts
Contacts Type: contact.list
Contacts Contacts
1
type: contact
id: 777777
workspace_id: 444444
external_id
role: user
email: xxxxx
phone: xxxxx
name: xxxxx
avatar
owner_id
social_profiles
type
data
has_hard_bounced: no
marked_email_as_spam: no
unsubscribed_from_emails: no
created_at: xxxxxxxxxx
updated_at: xxxxxxxxxx
signed_up_at: xxxxxxxxxx
last_seen_at: xxxxxxxxxx
last_replied_at
last_contacted_at: xxxxxxxxxx
last_email_opened_at
last_email_clicked_at
language_override
browser: chrome
browser_version: 124.0.0.0
browser_language: en
os: OS X 10.15.7
location
type: xxxxx
country: xxxxx
region: xxxxx
city: xxxxx
country_code: xxxxx
continent_code: xxxxx
custom_attributes
address: xxxxx
article_id: 888888
first_name: xxxxx
last_name: xxxxx
initial_billing_cycle: xxxxx
initial_plan: xxxxx
initial_product: xxxxx
initial_service_area: xxxxx
nps: x
stage: xxxxx
tags
type: list
data
url: /contacts/xxxxx/tags
total_count: 0
has_more: no
notes
type: list
data
url: /contacts/xxxxx/notes
total_count: 0
has_more: no
companies
type: list
data
1
id: 999999
type: company
url: /companies/xxxxx
url: /contacts/xxxxx/companies
total_count: 1
has_more: no
opted_out_subscription_types
type: list
data
url: /contacts/xxxxx/subscriptions
total_count: 0
email: xxxxx
attachments
redacted: no
Ticket Parts Total Count: 2
Open: yes
linked_objects
Linked Objects Type: list
Linked Objects Data
Linked Objects Total Count: 0
Linked Objects Has More: no
Category: Customer
Is Shared: yes

 

We then have a filter that looks for the ticket type:

 

 

And then we create a card in Trello:

 

 

In terms of your advice to create a custom field on the Trello card. I’m unsure how to do this? This isn’t a default option when creating a Trello card, is this something we need to set up manually?

Thanks again Troy!

Userlevel 7
Badge +14

@zapo 

Help article from Trello about custom fields: https://support.atlassian.com/trello/docs/using-custom-fields/

Create the Custom Field in Trello.

Then refresh the fields on the Zap step, which should expose that Custom Field for you to use.