Hi,
I want to connect a custom GPT to awork. I have come as far as being able to connect to awork using an API key and with the following API definition (YAML), I am able to ask ChatGPT to tell me something about the users in our account (getUsers). However, the three other functions in the YAML are not working (getTimeEntries, getProjects, getTasks) and I want to actually have ChatGPT event create or change things in awork.
Now, I am not asking for a debugging of my GPT-generated YAML, I am just wondering if anybody has already successfully connected a custom GPT to awork and can give me a hint how to do this?
Cheers,
Christian
openapi: 3.1.0
info:
title: Awork API
description: API for managing users, tasks, projects, and time tracking in awork.
version: 1.0.0
servers:
- url: https://seagreen-super-talents.awork.com/api/v1
description: Awork API server
paths:
/users:
get:
operationId: getUsers
summary: Get a list of all users.
description: Retrieve a list of users in the awork system.
security:
- BearerAuth: []
responses:
'200':
description: List of users.
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
email:
type: string
'401':
description: Unauthorized - Invalid API key.
/time-entries:
get:
operationId: getTimeEntries
summary: Get time entries for users.
description: Fetches time entries to determine available user capacity.
security:
- BearerAuth: []
parameters:
- name: userId
in: query
description: ID of the user to filter time entries.
schema:
type: string
responses:
'200':
description: A list of time entries.
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
userId:
type: string
hoursLogged:
type: number
format: float
'401':
description: Unauthorized - Invalid API key.
/tasks:
get:
operationId: getTasks
summary: Get tasks assigned to a specific user.
description: Retrieves all tasks assigned to a given user.
security:
- BearerAuth: []
parameters:
- name: assignedUserId
in: query
description: ID of the user whose tasks to retrieve.
schema:
type: string
responses:
'200':
description: List of tasks.
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
status:
type: string
'401':
description: Unauthorized - Invalid API key.
/projects:
get:
operationId: getProjects
summary: Get projects and their managers.
description: Fetches a list of projects and their assigned project managers.
security:
- BearerAuth: []
responses:
'200':
description: List of projects with responsible project managers.
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
projectManager:
type: object
properties:
id:
type: string
name:
type: string
'401':
description: Unauthorized - Invalid API key.
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
schemas: {}