-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Webhook data
Lauri Ojansivu edited this page Dec 15, 2023
·
3 revisions
When a webhook is activated it sends the related information within the POST request body.
When a new card is created on board
{
"text": "{{wekan-username}} created card \"{{card-title}}\" to list \"{{list-name}}\" at swimlane \"{{swimlane-name}}\" at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"listId": "{{list-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"swimlaneId": "{{swimlane-id}}",
"description": "act-createCard"
}
When a card is moved beweteen lists
{
"text": "{{wekan-username}} moved card \"{{card-title}}\" at board \"{{board-name}}\" from list \"{{old-list-name}}\" at swimlane \"{{swimlane-name}}\" to list \"{{new-list-name}}\" at swimlane \"{{swimlane-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"listId": "{{new-list-id}}",
"oldListId": "{{old-list-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"swimlaneId": "{{swimlane-id}}",
"description": "act-moveCard"
}
A card is moved to archive
{
"text": "{{wekan-username}} Card \"{{card-title}}\" at list \"{{list-name}}\" at swimlane \"{{swimlane-name}}\" at board \"{{board-name}}\" moved to Archive\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"listId": "{{list-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"swimlaneId": "{{swimlane-id}}",
"description": "act-archivedCard"
}
When a card is restored from archive
{
"text": "{{wekan-username}} restored card \"{{card-title}}\" to list \"{{list-name}}\" at swimlane \"{{swimlane-name}}\" at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"listId": "{{list-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"swimlaneId": "{{swimlane-id}}",
"description": "act-restoredCard"
}
Webhooks that are raised on card content change
A user comments the card
{
"text": "{{wekan-username}} commented on card \"{{card-title}}\": \"{{comment}}\" at list __list__ at swimlane __swimlane__ at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"boardId": "{{board-id}}",
"comment": "{{comment}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"commentId": "{{comment-id}}",
"description": "act-addComment"
}
A user edits a comment on the card
{
"text": "{{wekan-username}} commented on card \"{{card-title}}\": \"{{comment}}\" at list __list__ at swimlane __swimlane__ at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"listId": "{{list-id}}",
"boardId": "{{board-id}}",
"comment": "{{comment}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"commentId": "{{comment-id}}",
"swimlaneId": "{{swimlane-id}}",
"description": "act-editComment"
}
A label is added to card
{
"text": "{{wekan-username}} Added label __label__ to card \"{{card-title}}\" at list \"{{list-name}}\" at swimlane \"{{swimlane-name}}\" at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"listId": "{{list-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"swimlaneId": "{{swimlane-id}}",
"description": "act-addedLabel"
}
When a member is added to card
{
"text": "{{wekan-username}} added member {{wekan-username}} to card \"{{card-title}}\" at list \"{{list-name}}\" at swimlane \"{{swimlane-name}}\" at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"listId": "{{list-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"swimlaneId": "{{swimlane-id}}",
"description": "act-joinMember"
}
A custom field on card is set
{
"text": "{{wekan-username}} act-setCustomField\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"description": "act-setCustomField"
}
{
"text": "{{wekan-username}} added attachment {{attachment-id}} to card \"{{card-title}}\" at list __list__ at swimlane __swimlane__ at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"description": "act-addAttachment"
}
{
"text": "{{wekan-username}} deleted attachment __attachment__ at card \"{{card-title}}\" at list __list__ at swimlane __swimlane__ at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"description": "act-deleteAttachment"
}
{
"text": "{{wekan-username}} added checklist \"{{checklist-name}}\" to card \"{{card-title}}\" at list __list__ at swimlane __swimlane__ at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"description": "act-addChecklist"
}
{
"text": "{{wekan-username}} removed checklist \"{{checklist-name}}\" from card \"{{card-title}}\" at list __list__ at swimlane __swimlane__ at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"description": "act-removeChecklist"
}
{
"text": "{{wekan-username}} uncompleted checklist \"{{checklist-name}}\" at card \"{{card-title}}\" at list __list__ at swimlane __swimlane__ at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"description": "act-uncompleteChecklist"
}
{
"text": "{{wekan-username}} added checklist item {{checklistitem-name}} to checklist \"{{checklist-name}}\" at card \"{{card-title}}\" at list __list__ at swimlane __swimlane__ at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"description": "act-addChecklistItem"
}
{
"text": "{{wekan-username}} checked {{checklist-name}} of checklist \"{{checklist-name}}\" at card \"{{card-title}}\" at list __list__ at swimlane __swimlane__ at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"description": "act-checkedItem"
}
{
"text": "{{wekan-username}} act-removedChecklistItem\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}/{{card-id}}",
"cardId": "{{card-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"card": "{{card-title}}",
"description": "act-removedChecklistItem"
}
Webhooks that are raised on board events
{
"text": "{{wekan-username}} created custom field {{customfield-name}} to card __card__ at list __list__ at swimlane __swimlane__ at board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"description": "act-createCustomField"
}
Webhooks that are raised on list events
{
"text": "{{wekan-username}} added list \"{{list-name}}\" to board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}",
"listId": "{{list-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"description": "act-createList"
}
{
"text": "{{wekan-username}} List \"{{list-name}}\" at swimlane __swimlane__ at board \"{{board-name}}\" moved to Archive\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}",
"listId": "{{list-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"description": "act-archivedList"
}
{
"text": "{{wekan-username}} act-removeList\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}",
"listId": "{{list-id}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"description": "act-removeList"
}
{
"text": "{{wekan-username}} created swimlane \"{{swimlane-name}}\" to board \"{{board-name}}\"\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"swimlaneId": "{{swimlane-id}}",
"description": "act-createSwimlane"
}
{
"text": "{{wekan-username}} Swimlane \"{{swimlane-name}}\" at board \"{{board-name}}\" moved to Archive\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"swimlaneId": "{{swimlane-id}",
"description": "act-archivedSwimlane"
}
{
"text": "{{wekan-username}} act-removeSwimlane\nhttp:https://{{wekan-host}}/b/{{board-id}}/{{board-name}}",
"boardId": "{{board-id}}",
"user": "{{wekan-username}}",
"swimlaneId": "{{swimlane-id}",
"description": "act-removeSwimlane"
}
Wekan - OpenSource Kanban
- Deep Dive Into WeKan
- Meteor WeKan Roadmap - board at Wekan demo
- Multiverse WeKan Roadmap
- Docs/Manual
- Change Language
- Forgot Password
- About
- Test Edge
- WeKan Design Principles
- FAQ
- IRC FAQ - answers to questions asked at IRC
- Team
- Press
- Blog
- Wekan vs Trello vs Restyaboard
- Results of Survey 2020-01
- Allow private boards only: Disable Public Boards
- Security Disclosure and details of Security in Wekan
- Security issues
- Password Hashing
- Add more RAM to Node.js to prevent crash
- Clustering AWS etc
- Scaling
- Kubernetes
- Redis Oplog
- Meteor Scaling at Meteor Cloud
- Scaling at Meteor forums
- From Previous Export, paste big WeKan JSON
- Progress: Import/Export/Sync
- From CSV/TSV
- From Trello
- From Jira
- From Asana
- From Zenkit
- From old Wekan manually
- Converting Meteor Stylus to CSS
- Repair MongoDB
- Using Meteor MongoDB to repair files
- If board does not open and keeps loading
- Repair Docker
- Wekan Markdown
- Emoji
- Mermaid Diagram DOES NOT WORK ANYMORE
- Numbered text
- Automatic login
- Disable Password Login
- Forgot Password
- Admin: Impersonate user
- Adding Users
- Active users Presence
- Accounts Lockout: Brute force login protection
- LDAP
- LDAP AD Simple Auth
- Keycloak
- Google login
- Azure
- OAuth2, Auth0, GitLab, RocketChat
- Oracle OIM on premise using OAuth2
- ADFS 4.0 using OAuth2 and OpenID
- Azure AD B2C using OAuth2
- Nextcloud
- CAS Please test
- SAML Please test
- Zitadel
- Drag Drop on Mobile and Desktop
- Rclone: Store attachments to cloud storage like S3, MinIO, etc
- Python based features
- Burndown and Velocity Chart
- Wait Spinners
- Translations
- Default Language for All Users
- Roadmap
- Features
- Planning Poker
- Scaling
- Custom Logo
- Subtasks <== Has fix
- Templates
- Cover
- Archive and Delete
- Custom Fields
- Fix Export board menu not visible on some boards
- RAM usage
- Demo
- Swimlane Documentation
- Customize Translations
- Download Wekan for various Platforms: Supported by xet7, Operating Systems, NAS, Cloud
- Helm Chart for Kubernetes
- Caddy
- Nginx
- Apache
- OpenLiteSpeed
- Local self signed TLS
- Let's Encrypt and Google Auth
- TLS with Node.js
- Traefik and self-signed SSL certs
- Example: New card with Python3 and REST API
- Python client to REST API
- Go client to REST API
- Java
- Wekan Sandstorm cards to CSV using Python
- Excel and VBA
- Global Webhook
- Limiting Webhook data
- Receiving Webhooks
- Outgoing Webhook to Discord/Slack/RocketChat/Riot
- Outgoing Webhook to NodeRed
- Outgoing Webhook to PowerShell
- Security: Webhook and CA
- Outgoing Webhooks Data
- Outgoing Webhooks and Let's Encrypt
- Outgoing Webhooks Original Pull Request, multiple Webhooks, more parameters and response order