from gql import Client, gql from gql.transport.requests import RequestsHTTPTransport APP_ID = YOUR_APP_ID INTERCOM_OAUTH_TOKEN = YOUR_OAUTH_TOKEN client = Client(retries=2, transport=RequestsHTTPTransport( url='https://serve.onegraph.com/dynamic?app_id=' + APP_ID, use_json=True)) usersQuery = gql(''' query IntercomUsers($cursor: String, $token: String!) { intercom(auths: {intercomOAuthToken: $token}) { users( first: 50 after: $cursor ) { pageInfo { endCursor hasNextPage } totalCount nodes { email } } } } ''') result = client.execute(usersQuery, {"cursor": None, "token": INTERCOM_OAUTH_TOKEN}) requestCount = 1; allUsers = result['intercom']['users']['nodes']; while (result['intercom']['users']['pageInfo']['hasNextPage']): cursor = result['intercom']['users']['pageInfo']['endCursor']; result = client.execute(usersQuery, {"cursor": cursor, "token": INTERCOM_OAUTH_TOKEN}); requestCount += 1; allUsers = allUsers + result['intercom']['users']['nodes']; print('Found {} users with {} requests'.format(len(allUsers), requestCount))