Outgoing Webhook sends an HTTP request to the configured URL when an event is triggered on Kibela, such as the posting of entries and comments.

Settings

Configure from the URL below.

https://my.kibe.la/team/settings/outgoing_webhooks/generics/new

You can access the settings page on Kibela

  1. Click "Settings" from the header's user icon
  2. Click "Webhooks" from the left-hand menu
  3. Click "Outgoing Webhook" from the "Add Webhook" menu

HTTP requests

The following HTTP request is sent when an event is triggered.

  • HTTP version: HTTP/1.1 
  • HTTP method: POST
  • Content-Type: application/json
  • User-Agent: Kibela-Hookshot/v1 

Request body

The request body of the HTTP request always has the resource_type and action parameters. resource_type indicates against which resource the event was triggered, action indicates the type of event that was triggered.

Event: Blog posts

  • resource_type: blog
  • action: create
  • team: The team that triggered the event
  • action_user: The user that performed the post
  • blog: The posted blog

Sample request

POST /payload HTTP/1.1

Host: localhost:3000
Content-Type: application/json
Content-Length: 1000
User-Agent: Kibela-Hookshot/v1

{
  "action": "create",
  "action_user": {
    "account": "kibe",
    "avatar_photo": {
      "url": "https://cdn.kibe.la/media/public/1/kibe.png"
    },
    "id": "1",
    "real_name": "kibe-san",
    "url": "https://docs.kibe.la/@kibe"
  },
  "blog": {
    "author": {
      "account": "kibe",
      "avatar_photo": {
        "url": "https://cdn.kibe.la/media/public/1/kibe.png"
      },
      "id": "1",
      "real_name": "kibe-san",
      "url": "https://docs.kibe.la/@kibe"
    },
    "boards": [
      {
        "id": "1",
        "name": "Product Team"
      }
    ],
    "content_html": "<h2>sample request</h2>",
    "content_md": "## sample request",
    "id": "1",
    "title": "sample request",
    "url": "https://docs.kibe.la/@kibe/1"
  },
  "resource_type": "blog",
  "team": {
    "name": "docs",
    "url": "https://docs.kibe.la"
  }
}

Event: Blog updates

  • resource_type: blog
  • action: update
  • team: The team that triggered the event
  • action_user: The user that performed the update
  • blog: The updated blog

Sample request

POST /payload HTTP/1.1

Host: localhost:3000
Content-Type: application/json
Content-Length: 1000
User-Agent: Kibela-Hookshot/v1

{
  "action": "update",
  "action_user": {
    "account": "kibe",
    "avatar_photo": {
      "url": "https://cdn.kibe.la/media/public/1/kibe.png"
    },
    "id": "1",
    "real_name": "kibe-san",
    "url": "https://docs.kibe.la/@kibe"
  },
  "blog": {
    "author": {
      "account": "kibe",
      "avatar_photo": {
        "url": "https://cdn.kibe.la/media/public/1/kibe.png"
      },
      "id": "1",
      "real_name": "kibe-san",
      "url": "https://docs.kibe.la/@kibe"
    },
    "boards": [
      {
        "id": "1",
        "name": "Product Team"
      }
    ],
    "content_html": "<h2>sample request</h2>",
    "content_md": "## sample request",
    "content_diff": "+sample request\n-[WIP]sample request",
    "revision_url": "https://docs.kibe.la/blogs/1/versions/1",
    "id": "1",
    "title": "sample request",
    "url": "https://docs.kibe.la/@kibe/1"
  },
  "notify": true, # this parameter is deprecated.
  "resource_type": "blog",
  "team": {
    "name": "docs",
    "url": "https://docs.kibe.la"
  }
}

Event: Blog deletes

  • resource_type: blog
  • action: delete
  • team: The team that triggered the event
  • action_user: The user that performed the delete
  • blog: The deleted blog

Sample request

POST /payload HTTP/1.1

Host: localhost:3000
Content-Type: application/json
Content-Length: 1000
User-Agent: Kibela-Hookshot/v1

{
  "action": "delete",
  "action_user": {
    "account": "kibe",
    "avatar_photo": {
      "url": "https://cdn.kibe.la/media/public/1/kibe.png"
    },
    "id": "1",
    "real_name": "kibe-san",
    "url": "https://docs.kibe.la/@kibe"
  },
  "blog": {
    "author": {
      "account": "kibe",
      "avatar_photo": {
        "url": "https://cdn.kibe.la/media/public/1/kibe.png"
      },
      "id": "1",
      "real_name": "kibe-san",
      "url": "https://docs.kibe.la/@kibe"
    },
    "boards": [
      {
        "id": "1",
        "name": "Product Team"
      }
    ],
    "comments": [
      {
        "author": {
          "account": "kibe",
          "avatar_photo": {
            "url": "https://cdn.kibe.la/media/public/1/kibe.png"
          },
          "id": "1",
          "real_name": "kibe-san",
          "url": "https://docs.kibe.la/@kibe"
        },
        "id": "1",
        "url": "https://docs.kibe.la/@kibe/1#comment_1"
      }
    ],
    "id": "1",
    "title": "sample request",
    "url": "https://docs.kibe.la/@kibe/1"
  },
  "resource_type": "blog",
  "team": {
    "name": "docs",
    "url": "https://docs.kibe.la"
  }
}

Event: Wiki posts

  • resource_type: wiki
  • action: create
  • team: The team that triggered the event
  • action_user: The user that performed the post
  • wiki: The posted wiki

Sample request

POST /payload HTTP/1.1

Host: localhost:3000
Content-Type: application/json
Content-Length: 1000
User-Agent: Kibela-Hookshot/v1

{
  "action": "create",
  "action_user": {
    "account": "kibe",
    "avatar_photo": {
      "url": "https://cdn.kibe.la/media/public/1/kibe.png"
    },
    "id": "1",
    "real_name": "kibe-san",
    "url": "https://docs.kibe.la/@kibe"
  },
  "resource_type": "wiki",
  "team": {
    "name": "docs",
    "url": "https://docs.kibe.la"
  },
  "wiki": {
    "authors": [
      {
        "account": "kibe",
        "avatar_photo": {
          "url": "https://cdn.kibe.la/media/public/1/kibe.png"
        },
        "id": "1",
        "real_name": "kibe-san",
        "url": "https://docs.kibe.la/@kibe"
      }
    ],
    "boards": [
      {
        "id": "1",
        "name": "Product Team"
      }
    ],
    "content_html": "<h2>sample request</h2>",
    "content_md": "## sample request",
    "id": "1",
    "title": "sample request",
    "url": "https://docs.kibe.la/wikis/sample_request/1"
  }
}

 Event: Wiki updates

  • resource_type: wiki
  • action: update
  • team: The team that triggered the event
  • action_user: The user that performed the update
  • wiki: The updated wiki

Sample request

POST /payload HTTP/1.1

Host: localhost:3000
Content-Type: application/json
Content-Length: 1000
User-Agent: Kibela-Hookshot/v1

{
  "action": "update",
  "action_user": {
    "account": "kibe",
    "avatar_photo": {
      "url": "https://cdn.kibe.la/media/public/1/kibe.png"
    },
    "id": "1",
    "real_name": "kibe-san",
    "url": "https://docs.kibe.la/@kibe"
  },
  "notify": true, # this parameter is deprecated.
  "resource_type": "wiki",
  "team": {
    "name": "docs",
    "url": "https://docs.kibe.la"
  },
  "wiki": {
    "authors": [
      {
        "account": "kibe",
        "avatar_photo": {
          "url": "https://cdn.kibe.la/media/public/1/kibe.png"
        },
        "id": "1",
        "real_name": "kibe-san",
        "url": "https://docs.kibe.la/@kibe"
      }
    ],
    "boards": [
      {
        "id": "1",
        "name": "Product Team"
      }
    ],
    "content_html": "<h2>sample request</h2>",
    "content_md": "## sample request",
    "content_diff": "+sample request\n-[WIP]sample request",
    "revision_url": "https://docs.kibe.la/wikis/1/versions/1",
    "id": "1",
    "title": "sample request",
    "url": "https://docs.kibe.la/wikis/sample_request/1"
  }
}

Event: Wiki deletes

  • resource_type: wiki
  • action: delete
  • team: The team that triggered the event
  • action_user: The user that performed the delete
  • wiki: The deleted wiki

Sample request

POST /payload HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Content-Length: 1000
User-Agent: Kibela-Hookshot/v1

{
  "action": "delete",
  "action_user": {
    "account": "kibe",
    "avatar_photo": {
      "url": "https://cdn.kibe.la/media/public/1/kibe.png"
    },
    "id": "1",
    "real_name": "kibe-san",
    "url": "https://docs.kibe.la/@kibe"
  },
  "resource_type": "wiki",
  "team": {
    "name": "docs",
    "url": "https://docs.kibe.la"
  },
  "wiki": {
    "author": {
      "account": "kibe",
      "avatar_photo": {
        "url": "https://cdn.kibe.la/media/public/1/kibe.png"
      },
      "id": "1",
      "real_name": "kibe-san",
      "url": "https://docs.kibe.la/@kibe"
    },
    "boards": [
      {
        "id": "1",
        "name": "Product Team"
      }
    ],
    "comments": [
      {
        "author": {
          "account": "kibe",
          "avatar_photo": {
            "url": "https://cdn.kibe.la/media/public/1/kibe.png"
          },
          "id": "1",
          "real_name": "kibe-san",
          "url": "https://docs.kibe.la/@kibe"
        },
        "id": "1",
        "url": "https://docs.kibe.la/@kibe/1#comment_1"
      }
    ],
    "id": "1",
    "title": "sample request",
    "url": "https://docs.kibe.la/wikis/sample_request/1"
  }
}

Event: Comment posts

  • resource_type: comment
  • action: create
  • team: The team that triggered the event
  • action_user: The user that performed the post
  • comment: The posted comment

Sample request

POST /payload HTTP/1.1

Host: localhost:3000
Content-Type: application/json
Content-Length: 1000
User-Agent: Kibela-Hookshot/v1

{
  "action": "create",
  "action_user": {
    "account": "kibe",
    "avatar_photo": {
      "url": "https://cdn.kibe.la/media/public/1/kibe.png"
    },
    "id": "1",
    "real_name": "kibe-san",
    "url": "https://docs.kibe.la/@kibe"
  },
  "comment": {
    "author": {
      "account": "kibe",
      "avatar_photo": {
        "url": "https://cdn.kibe.la/media/public/1/kibe.png"
      },
      "id": "1",
      "real_name": "kibe-san",
      "url": "https://docs.kibe.la/@kibe"
    },
    "blog": {
      "author": {
        "account": "kibe",
        "avatar_photo": {
          "url": "https://cdn.kibe.la/media/public/1/kibe.png"
        },
        "id": "1",
        "real_name": "kibe-san",
        "url": "https://docs.kibe.la/@kibe"
      },
      "boards": [
        {
          "id": "1",
          "name": "Product Team"
        }
      ],
      "content_html": "<h2>sample request</h2>",
      "content_md": "## sample request",
      "id": "1",
      "title": "sample request",
      "url": "https://docs.kibe.la/@kibe/1"
    },
    "content_html": "<h2>sample request</h2>",
    "content_md": "## sample request",
    "id": "1",
    "url": "https://docs.kibe.la/@kibe/1#comment_1"
  },
  "resource_type": "comment",
  "team": {
    "name": "docs",
    "url": "https://docs.kibe.la"
  }
}

Event: Comment updates

  • resource_type: comment
  • action: update
  • team: The team that triggered the event
  • action_user: The user that performed the updates
  • comment: The updated comment

Sample request

POST /payload HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Content-Length: 1000
User-Agent: Kibela-Hookshot/v1

{
  "action": "update",
  "action_user": {
    "account": "kibe",
    "avatar_photo": {
      "url": "https://cdn.kibe.la/media/public/1/kibe.png"
    },
    "id": "1",
    "real_name": "kibe-san",
    "url": "https://docs.kibe.la/@kibe"
  },
  "comment": {
    "author": {
      "account": "kibe",
      "avatar_photo": {
        "url": "https://cdn.kibe.la/media/public/1/kibe.png"
      },
      "id": "1",
      "real_name": "kibe-san",
      "url": "https://docs.kibe.la/@kibe"
    },
    "blog": {
      "author": {
        "account": "kibe",
        "avatar_photo": {
          "url": "https://cdn.kibe.la/media/public/1/kibe.png"
        },
        "id": "1",
        "real_name": "kibe-san",
        "url": "https://docs.kibe.la/@kibe"
      },
      "boards": [
        {
          "id": "1",
          "name": "Product Team"
        }
      ],
      "content_html": "<h2>sample request</h2>",
      "content_md": "## sample request",
      "id": "1",
      "title": "sample request",
      "url": "https://docs.kibe.la/@kibe/1"
    },
    "content_html": "<h2>sample request</h2>",
    "content_md": "## sample request",
    "id": "1",
    "url": "https://docs.kibe.la/@kibe/1#comment_1"
  },
  "resource_type": "comment",
  "team": {
    "name": "docs",
    "url": "https://docs.kibe.la"
  }
}

Event: Comment deletes

  • resource_type: comment
  • action: delete
  • team: The team that triggered the event
  • action_user: The user that performed the delete
  • comment: The deleted comment

Sample request

POST /payload HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Content-Length: 1000
User-Agent: Kibela-Hookshot/v1

{
  "action": "delete",
  "action_user": {
    "account": "kibe",
    "avatar_photo": {
      "url": "https://cdn.kibe.la/media/public/1/kibe.png"
    },
    "id": "1",
    "real_name": "kibe-san",
    "url": "https://docs.kibe.la/@kibe"
  },
  "comment": {
    "author": {
      "account": "kibe",
      "avatar_photo": {
        "url": "https://cdn.kibe.la/media/public/1/kibe.png"
      },
      "id": "1",
      "real_name": "kibe-san",
      "url": "https://docs.kibe.la/@kibe"
    },
    "blog": {
      "author": {
        "account": "kibe",
        "avatar_photo": {
          "url": "https://cdn.kibe.la/media/public/1/kibe.png"
        },
        "id": "1",
        "real_name": "kibe-san",
        "url": "https://docs.kibe.la/@kibe"
      },
      "boards": [
        {
          "id": "1",
          "name": "Product Team"
        }
      ],
      "content_html": "<h2>sample request</h2>",
      "content_md": "## sample request",
      "id": "1",
      "title": "sample request",
      "url": "https://docs.kibe.la/@kibe/1"
    },
    "id": "1",
    "url": "https://docs.kibe.la/@kibe/1#comment_1"
  },
  "resource_type": "comment",
  "team": {
    "name": "docs",
    "url": "https://docs.kibe.la"
  }
}

Did this answer your question?