Skip to content

flexor-ai/dbt-zendesk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flexor's dbt Package For Transforming ZenDesk Tickets To Structured Data

GitHub License

💡 Note: This package is meant to be run by Flexor users in order to transform ZenDesk tickets into structued data in dbt. If you found us on GitHub, please contact us at [email protected] to get access!

📣 What does this dbt package do?

Flexor is an Unstructured Transformation Layer, that allows for the creation of gold-standard tables from unstructured data by performing transformations on the raw text.

This package is meant to help Flexor users who are also dbt users perform flex transformations as part of dbt models.

Note that this package contains our approach to which questions you should ask about your ZenDesk data, and the exacft flex queries you should use to extract said information.

Assuming your data is loaded into a data warehouse, for every ticket and ticket comment, the package exposes 3 types of data:

  1. Data referenced from the source ordered by comment_timestamp (View).
  2. Various flex transformations on the unstructured data. Each transformation is stored in a separate incremental table. The tables columns are
  • flex json column (with the flex transformation results)
  • flex_id string column (used for joins)
  1. Statistics on the ticket (Views).
Model Description
tickets_comments_discount A boolean classification question - Is the user asking for a discount?
tickets_comments_identifier A boolean classification question + extraction - Does the request have a relevant identifier? -> [email, order number, account id, tracking order, phone number]
tickets_comments_interface A boolean question - Is the ticket about unclear user interface or problems in usage?
tickets_comments_shipping A boolean classification question - Is the ticket about shipping options?
tickets_comments_specific_product A boolean classification question + extraction - Does the customer asking about a specific product? -> which product?
tickets_comments_tech_issues A boolean classification question - 'Is the ticket about technical issues?

In addition the package expose the all_tickets comparison statistics view for an easy review of the potential outputs.

🎯 How do I use the dbt package?

Step 1: Prerequisites

To use this dbt package, you must have the followingr ready to go on your machine:

  1. Working dbt core/cloud (pip install dbt-core dbt-snowflake dbt-bigquery)
  2. A BigQuery or Snowflake dataset configured with a profiles.yml file
  3. Ingested dbt tickets (update the sources.yml file accordingly)
  4. To enable the flex function to use actual user input, change flex_online_mode to true

Step 2: Install and run the package

dbt deps
dbt run

🔍 Does this package have dependencies?

No - but you should have acess to the Flexor platform in order to use it.

🙌 How is this package maintained and can I contribute?

The Flexor team actively maintains this package - if you have any questions or want to contribute, simply open a PR or email us at [email protected].

🏪 Are there any resources available?

  • If you have questions or want to reach out for help, please refer to the GitHub Issue section and create an issue.
  • If you want to learn more about Flexor, you can visit our website at Flexor.ai