Skip to content

mrz1836/go-drift

πŸ’¬Β Β go-drift

The unofficial golang implementation for the Drift API


Release Go Version License


CI / CD Β Β  Build Last Commit Β Β Β Β  Quality Β Β  Go Report Coverage
Security Β Β  Scorecard Security Β Β Β Β  Community Β Β  Contributors Bitcoin


Project Navigation

πŸš€Β Installation πŸ“šΒ Documentation πŸ§ͺΒ ExamplesΒ &Β Tests
πŸ€–Β AIΒ Usage πŸ› οΈΒ CodeΒ Standards 🀝 Contributing

πŸ“¦ Installation

go-drift requires a supported release of Go.

go get -u github.com/mrz1836/go-drift/drift

πŸ“š Documentation

View the generated documentation

Heads up! go-drift is intentionally light on dependencies. The only external package it uses is the excellent testify suiteβ€”and that's just for our tests. You can drop this library into your projects without dragging along extra baggage.


API Coverage

  • Current coverage for the Drift API
    • Contacts API
      • Creating a Contact
      • Updating a Contact
      • Retrieving Contacts
      • Deleting a Contact
      • Unsubscribe Contacts from Emails
      • Posting Timeline Events
      • Listing Custom Attributes
    • Users API
      • Retrieving User
      • Listing Users
      • Updating a User
      • Get Booked Meetings
    • Conversations & Messages API
      • Creating a Message
      • Listing Conversations
      • Retrieving a Conversation
      • Retrieving a Conversation's Messages
      • Retrieving a Conversation's Transcript
      • Retrieving a Conversation's Attachments
      • Creating a new Conversation
      • Bulk Conversation Statuses
    • Accounts API
      • Creating an Account
      • Retrieving an account
      • Listing Accounts
      • Updating Accounts
      • Deleting Accounts
    • Teams API
      • Listing Teams (Org)
      • Listing Teams by User
    • Playbooks API
      • Retrieving Bot Playbooks
      • Retrieving Conversational Landing Pages
    • Admin API
      • Trigger App Uninstall
      • Get Token Information
    • GDPR API
      • GDPR Retrieval
      • GDPR Deletion

Additional Documentation & Repository Management

Development Setup (Getting Started)

Install MAGE-X build tool for development:

# Install MAGE-X for development and building
go install github.com/mrz1836/mage-x/cmd/magex@latest
magex update:install
Library Deployment

This project uses goreleaser for streamlined binary and library deployment to GitHub. To get started, install it via:

brew install goreleaser

The release process is defined in the .goreleaser.yml configuration file.

Then create and push a new Git tag using:

magex version:bump bump=patch push=true branch=master

This process ensures consistent, repeatable releases with properly versioned artifacts and citation metadata.

Build Commands

View all build commands

magex help
GitHub Workflows

All workflows are driven by modular configuration in .github/env/ β€” no YAML editing required.

View all workflows and the control center β†’

Updating Dependencies

To update all dependencies (Go modules, linters, and related tools), run:

magex deps:update

This command ensures all dependencies are brought up to date in a single step, including Go modules and any managed tools. It is the recommended way to keep your development environment and CI in sync with the latest versions.


πŸ§ͺ Examples & Tests

All unit tests and fuzz tests run via GitHub Actions and use Go version 1.18.x. View the configuration file.

Run all tests (fast):

magex test

Run all tests with race detector (slower):

magex test:race

⚑ Benchmarks

Run the Go benchmarks:

magex bench

πŸ› οΈ Code Standards

Read more about this Go project's code standards.


πŸ€– AI Usage & Assistant Guidelines

Read the AI Usage & Assistant Guidelines for details on how AI is used in this project and how to interact with the AI assistants.


πŸ‘₯ Maintainers

MrZ
MrZ

🀝 Contributing

View the contributing guidelines and please follow the code of conduct.

How can I help?

All kinds of contributions are welcome πŸ™Œ! The most basic way to show your support is to star 🌟 the project, or to raise issues πŸ’¬. You can also support this project by becoming a sponsor on GitHub πŸ‘ or by making a bitcoin donation to ensure this journey continues indefinitely! πŸš€

Stars


Credits

Drift for their hard work on the API


πŸ“ License

License

About

πŸ’¬ Unofficial Go implementation for the Drift API

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages