💡 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!
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:
- Data referenced from the source ordered by comment_timestamp (View).
- 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)
- 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.
To use this dbt package, you must have the followingr ready to go on your machine:
- Working dbt core/cloud (
pip install dbt-core dbt-snowflake dbt-bigquery
) - A BigQuery or Snowflake dataset configured with a
profiles.yml
file - Ingested dbt tickets (update the
sources.yml
file accordingly) - To enable the
flex
function to use actual user input, changeflex_online_mode
totrue
dbt deps
dbt run
No - but you should have acess to the Flexor platform in order to use it.
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].
- 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