sheepFlow

A kanban board for sheepCRM.

Flow Terminology

board

a view with a number of columns, each column having a number of cards. boards can only represent a single sheepCRM data type

columns

a board column typically represent a state of a resource e.g. pending, active

card

each record is represented as a card assigned to a column

base filter

the filter or query which applies to the whole board and can not be modified by the user

default filter

a filter layered on top of the base filter but which can be edited or removed by the user. showing only recently edited records would be a good default filter

Get available boards

$ http GET https://api.sheepcrm.com/api/v1/$FLOCK/flow_board/ "Authorization: Bearer $API_KEY"

Get a board with full config

$ http GET https://api.sheepcrm.com/api/v1/$FLOCK/flow_board/full/ "Authorization: Bearer $API_KEY"

Get a board with column config

$ http GET https://api.sheepcrm.com/api/v1/$FLOCK/flow_board/column/ "Authorization: Bearer $API_KEY"

Get a board with full config and cards

$ http GET https://api.sheepcrm.com/api/v1/$FLOCK/flow_board/cards/ "Authorization: Bearer $API_KEY"

Updating cards (bulk actions)

column

column name

cards

a list of card IDs to update

action

the bulk action to be applied move_cards: - default action if not supplied add_tag / remove_tag: only applicable to forms additional parameter of tag required assign_reviewer / assign_scorer: only applicable to forms additional parameter of user required bulk_xls: export cards as XLS

Not all actions are available for all data types and may require premium packages.

$ http POST https://api.sheepcrm.com/api/v1/$FLOCK/flow_board/cards/ "Authorization: Bearer $API_KEY" column='active' cards:='["card1", "../member/", "/example/member/5f85c9a880859e454b8124e9/"]'


{
    "data": {
        "errors": [
            "card1 is not a valid card for this board, expected member",
            "URI ../member/ error (URI (../member/) is too short)"
        ],
        "failed": [
            "card1",
            "../member/"
        ],
        "updated": [
            "/example/member/5f85c9a880859e454b8124e9/"
        ]
    }
}

Configuring a board

name

board name

creator

creator string

description

helpful description of the boards purpose

active

boolean - use to hide old boards

resource_type

sheepCRM resource type e.g. form_response, member

user_groups

user group permissions for this board, leave blank for default sheepCRM permissions

columns

structured dictionary config

base filter

the filter or query which applies to the whole board and can not be modified by the user

default filter

a filter layered on top of the base filter but which can be edited or removed by the user. showing only recently edited records would be a good default filter

$ http PUT https://api.sheepcrm.com/api/v1/$FLOCK/flow_board/5ffdb4db80859eff9185cb71/ "Authorization: Bearer $API_KEY" base_filter:='{"membership_plan_type": "individual"}' default_filter:='{"amount__gte":80}'

{
    "errors": {},
    "updates": {
        "base_filter": {
            "membership_plan_type": "individual"
        },
        "default_filter": {
            "amount__gte": 80
        }
    }
}

This example configures the board to only show individual membership types and by default only show memberships with an amount great than or equal (gte) 80. Note, these filter fields are dictionary types.

Flow configs are detailed JSON documents and best edited through the user interface. Creating a JSON file (or editing an existing example) and sending through the API is supported e.g.

Example Column Configs:

$ cat flow-three-column-form-response.json | http PUT https://api.sheepcrm.com:/api/v1/$FLOCK/flow_board/5ffdb4db80859eff9185cb71/ "Authorization: Bearer $API_KEY"

Setup through the user interface

Temporary instructions until new UI control built.

Create a new Flow Board

  1. View existing boards in Theme3 e.g. https://sheepcrm.com/example/flow_board/

  2. Create or Clone:
  3. Edit the board
    • Legacy UID can be left blank

    • Name - the name for the board

    • Creator - free text - put your name/email

    • Description - free text

    • Active - Y

    • Resource Type - only form responses and memberships are currently supported

    • User Groups - leave blank

    • Users - leave blank

    • Columns - leave blank not currently used

    • Base Filter - leave blank

    • Default Filter - leave blank

  4. Go to https://flow.sheepcrm.com
    • Look for your new board (caching can mean a 10 minute wait)