This libary uses WebSockets to communicate with a GraphQL endpoint built using Absinthe and Phoenix Channels. Its primary goal is to allow clients to use Subscriptions, although it also supports queries. It uses WebSockex as a WebSocket client. It also handles the specifics of Phoenix Channels (heartbeats) and how Absinthe subscriptions were implemented on top of them.
Docs can be found at https://hexdocs.pm/absinthe_websocket.
A complete walkthrough can be found on the Annkissam Alembic. It also has an associated demo.
The simplest way to get started is to use the common_graphql_client. The readme and associated tutorial walk through the complete installation.