Zendesk Connector¶
Connect to Zendesk to query and manage tickets, users, and organizations.
Setup¶
Create Connector¶
CREATE CONNECTOR zendesk_support
TYPE 'zendesk'
CONFIG {
"subdomain": "mycompany",
"email": "{{secrets.zendesk_email}}",
"api_token": "{{secrets.zendesk_token}}"
};
Configure Secrets¶
moltler secrets set zendesk_email admin@company.com
moltler secrets set zendesk_token your_api_token
Available Entities¶
Tickets (tickets)¶
SELECT id, subject, status, priority, assignee_id, created_at
FROM zendesk_support.tickets
WHERE status = 'open'
AND priority IN ('high', 'urgent')
ORDER BY created_at DESC;
Users (users)¶
Organizations (organizations)¶
Ticket Comments (comments)¶
Actions¶
Create Ticket¶
CONNECTOR_EXEC zendesk_support.tickets.create({
"subject": "Automated ticket from Moltler",
"description": "This ticket was created automatically",
"priority": "normal",
"tags": ["automated", "moltler"]
});
Update Ticket¶
CONNECTOR_EXEC zendesk_support.tickets.update(
ticket_id => 12345,
data => {
"status": "solved",
"assignee_id": 67890
}
);
Add Comment¶
CONNECTOR_EXEC zendesk_support.tickets.comment(
ticket_id => 12345,
body => 'Automated response from Moltler',
public => false
);
Example Skills¶
Skill: Auto-Respond to Common Issues¶
CREATE SKILL auto_respond_zendesk
VERSION '1.0.0'
DESCRIPTION 'Auto-responds to tickets matching common patterns'
PARAMETERS (
connector STRING,
pattern STRING,
response STRING
)
RETURNS NUMBER
BEGIN
DECLARE tickets CURSOR FOR
SELECT id, subject
FROM connector.tickets
WHERE status = 'new'
AND subject LIKE pattern;
DECLARE count = 0;
OPEN tickets;
FOR ticket IN tickets LOOP
CONNECTOR_EXEC connector.tickets.comment(
ticket_id => ticket.id,
body => response,
public => true
);
SET count = count + 1;
END LOOP;
CLOSE tickets;
RETURN count;
END SKILL;
What's Next?¶
-
Slack Connector
Connect to Slack.
-
Build Your Own
Create custom connectors.