Skip to content

Instantly share code, notes, and snippets.

@snipki

snipki/action Secret

Created October 6, 2024 16:47
Show Gist options
  • Save snipki/795760bee4aa4900083988ee288d2e09 to your computer and use it in GitHub Desktop.
Save snipki/795760bee4aa4900083988ee288d2e09 to your computer and use it in GitHub Desktop.
snipKI Action Personal GPT
{
"openapi": "3.1.0",
"info": {
"title": "Webhook for Multiple Actions",
"description": "Webhook for performing actions like Asana task creation, Calendar event creation, Slack messaging, and sending emails via GMail.",
"version": "1.0.0"
},
"servers": [
{
"url": "YOUR-WEBHOOK"
}
],
"paths": {
"/": {
"post": {
"summary": "Perform actions like Asana task creation, Calendar event creation, Slack messaging, and sending emails via GMail",
"operationId": "performAction",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": ["Asana", "Cal", "Slack", "GMail"],
"description": "Specifies the action to perform"
},
"title": {
"type": "string",
"description": "Title for the action (Asana task or Calendar event)"
},
"description": {
"type": "string",
"description": "Description for the Asana task"
},
"person": {
"type": "string",
"description": "Person assigned to the Asana task"
},
"date": {
"type": "string",
"format": "date",
"description": "Date for the calendar event"
},
"time": {
"type": "string",
"format": "time",
"description": "Time for the calendar event"
},
"message": {
"type": "string",
"description": "Message content for Slack or GMail"
},
"channel": {
"type": "string",
"description": "Slack channel to send the message to"
},
"to_address": {
"type": "string",
"format": "email",
"description": "Email address to send the message to"
}
},
"required": ["action"],
"oneOf": [
{
"properties": {
"action": {
"enum": ["Asana"]
},
"title": {},
"description": {},
"person": {}
},
"required": ["title", "description", "person"]
},
{
"properties": {
"action": {
"enum": ["Cal"]
},
"title": {},
"date": {},
"time": {}
},
"required": ["title", "date", "time"]
},
{
"properties": {
"action": {
"enum": ["Slack"]
},
"message": {},
"channel": {}
},
"required": ["message", "channel"]
},
{
"properties": {
"action": {
"enum": ["GMail"]
},
"to_address": {},
"message": {}
},
"required": ["to_address", "message"]
}
]
}
}
}
},
"responses": {
"201": {
"description": "Action successfully processed",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success"
},
"message": {
"type": "string",
"example": "Action performed successfully"
},
"data": {
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "The action that was performed"
},
"details": {
"type": "object",
"description": "Details of the action performed",
"additionalProperties": true
}
}
}
}
}
}
}
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment