Skip to main content

Connect Airy to Zendesk

Connect all of your messaging channels to your favourite CRM with only a single integration.

Prerequisites

While Airy ships with its own messaging inbox you might prefer to continue using Zendesk and its mature eco-system of integrations and workflows. This way you Airy does all the heavy lifting of connecting messaging channels while Zendesk provides you with a CRM experience that you are familiar with.

After following the steps below your Airy installation will automatically forward all messages to your Zendesk inbox, where you can reply to them like you are used to.

1. Obtain Zendesk credentials

In order to start the zendesk connector you need the following three parameters:

  • Your zendesk subdomain. When you go to your dashboard it's https://{this part}.zendesk.com/
  • Your zendesk user name
  • A zendesk APi token associated to your user. Check out this article to learn how to create one.

2. Deploy the connector

Create a file with the contents of the zendesk-deployment.yaml snippet below and replace the variables with the ones obtained in the previous step. Depending on how you handle secrets in your cluster you might want to inject these credentials differently.

Finally apply the updated deployment file to the namespace of your airy cluster by running:

kubectl apply -f zendesk-deployment.yaml

zendesk-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
name: enterprise-zendesk-connector
labels:
app: zendesk-connector
type: api
core.airy.co/managed: 'false'
core.airy.co/mandatory: 'false'
core.airy.co/component: enterprise-zendesk-connector
spec:
replicas: 1
selector:
matchLabels:
app: zendesk-connector
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
app: zendesk-connector
spec:
containers:
- name: app
image: ghcr.io/airyhq/enterprise/zendesk-connector:release
imagePullPolicy: Always
envFrom:
- configMapRef:
name: security
- configMapRef:
name: kafka-config
env:
- name: ZENDESK_DOMAIN
value: '<your zendesk subdomain here>'
- name: ZENDESK_USERNAME
value: '<your zendesk username here>'
- name: ZENDESK_TOKEN
value: '<your token here>'
- name: REQUESTED_CPU
valueFrom:
resourceFieldRef:
containerName: app
resource: requests.cpu
- name: LIMIT_CPU
valueFrom:
resourceFieldRef:
containerName: app
resource: limits.cpu
livenessProbe:
httpGet:
path: /actuator/health
port: 8080
httpHeaders:
- name: Health-Check
value: health-check
initialDelaySeconds: 60
periodSeconds: 10
failureThreshold: 3