Skip to main content
POST
/
api
/
v1
/
workflow
Create agent workflow
curl --request POST \
  --url https://prod.featherhq.com/api/v1/workflow \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '{
  "name": "<string>",
  "description": "<string>",
  "active": true,
  "startHour": 9,
  "endHour": 17,
  "timezone": "America/Los_Angeles",
  "workflowSchedule": {
    "monday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 9,
          "startMinute": 0,
          "endHour": 17,
          "endMinute": 0
        }
      ]
    },
    "tuesday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 9,
          "startMinute": 0,
          "endHour": 17,
          "endMinute": 0
        }
      ]
    },
    "wednesday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 9,
          "startMinute": 0,
          "endHour": 17,
          "endMinute": 0
        }
      ]
    },
    "thursday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 9,
          "startMinute": 0,
          "endHour": 17,
          "endMinute": 0
        }
      ]
    },
    "friday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 9,
          "startMinute": 0,
          "endHour": 17,
          "endMinute": 0
        }
      ]
    },
    "saturday": {
      "enabled": false,
      "timeRanges": []
    },
    "sunday": {
      "enabled": false,
      "timeRanges": []
    }
  },
  "tcpaSchedule": {
    "monday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "tuesday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "wednesday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "thursday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "friday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "saturday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "sunday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 13,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    }
  },
  "definition": {
    "steps": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "type": "CALL",
        "order": 2,
        "delayInSecs": 0,
        "finishOn": [],
        "agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "leaveVoicemail": false
      }
    ]
  }
}'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "description": "<string>",
  "organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "active": true,
  "startHour": 123,
  "endHour": 123,
  "timezone": "<string>",
  "workflowSchedule": {
    "monday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 9,
          "startMinute": 0,
          "endHour": 17,
          "endMinute": 0
        }
      ]
    },
    "tuesday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 9,
          "startMinute": 0,
          "endHour": 17,
          "endMinute": 0
        }
      ]
    },
    "wednesday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 9,
          "startMinute": 0,
          "endHour": 17,
          "endMinute": 0
        }
      ]
    },
    "thursday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 9,
          "startMinute": 0,
          "endHour": 17,
          "endMinute": 0
        }
      ]
    },
    "friday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 9,
          "startMinute": 0,
          "endHour": 17,
          "endMinute": 0
        }
      ]
    },
    "saturday": {
      "enabled": false,
      "timeRanges": []
    },
    "sunday": {
      "enabled": false,
      "timeRanges": []
    }
  },
  "tcpaSchedule": {
    "monday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "tuesday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "wednesday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "thursday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "friday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "saturday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 8,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    },
    "sunday": {
      "enabled": true,
      "timeRanges": [
        {
          "startHour": 13,
          "startMinute": 0,
          "endHour": 21,
          "endMinute": 0
        }
      ]
    }
  },
  "definition": {
    "steps": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "type": "CALL",
        "order": 2,
        "delayInSecs": 0,
        "finishOn": [],
        "agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "leaveVoicemail": false
      }
    ]
  },
  "createdAt": "<string>",
  "updatedAt": "<string>"
}

Authorizations

X-API-Key
string
header
required

Body

application/json
name
string
required

Workflow name

Required string length: 1 - 255
definition
object
required

Workflow definition

description
string

Workflow description

active
boolean
default:true

Whether the workflow is active

startHour
integer
default:9

Start hour (0-23) for backward compatibility

Required range: 0 <= x <= 23
endHour
integer
default:17

End hour (0-23) for backward compatibility

Required range: 0 <= x <= 23
timezone
string
default:America/Los_Angeles

Timezone for workflow execution and schedule interpretation

workflowSchedule
object

Workflow schedule - operates in workflow timezone defined above

Example:
{
"monday": {
"enabled": true,
"timeRanges": [
{
"startHour": 9,
"startMinute": 0,
"endHour": 17,
"endMinute": 0
}
]
},
"tuesday": {
"enabled": true,
"timeRanges": [
{
"startHour": 9,
"startMinute": 0,
"endHour": 17,
"endMinute": 0
}
]
},
"wednesday": {
"enabled": true,
"timeRanges": [
{
"startHour": 9,
"startMinute": 0,
"endHour": 17,
"endMinute": 0
}
]
},
"thursday": {
"enabled": true,
"timeRanges": [
{
"startHour": 9,
"startMinute": 0,
"endHour": 17,
"endMinute": 0
}
]
},
"friday": {
"enabled": true,
"timeRanges": [
{
"startHour": 9,
"startMinute": 0,
"endHour": 17,
"endMinute": 0
}
]
},
"saturday": { "enabled": false, "timeRanges": [] },
"sunday": { "enabled": false, "timeRanges": [] }
}
tcpaSchedule
object

TCPA schedule - applies to borrower local timezone

Example:
{
"monday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"tuesday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"wednesday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"thursday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"friday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"saturday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"sunday": {
"enabled": true,
"timeRanges": [
{
"startHour": 13,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
}
}

Response

Agent workflow created successfully

id
string<uuid>
required

Workflow ID

name
string
required

Workflow name

description
string | null
required

Workflow description

organizationId
string<uuid>
required

Organization ID

userId
string<uuid>
required

User ID who created the workflow

active
boolean
required

Whether the workflow is active

startHour
integer
required

Start hour (0-23) for backward compatibility

endHour
integer
required

End hour (0-23) for backward compatibility

timezone
string
required

Timezone for workflow execution and schedule interpretation

workflowSchedule
object | null
required

Workflow schedule - operates in workflow timezone

Example:
{
"monday": {
"enabled": true,
"timeRanges": [
{
"startHour": 9,
"startMinute": 0,
"endHour": 17,
"endMinute": 0
}
]
},
"tuesday": {
"enabled": true,
"timeRanges": [
{
"startHour": 9,
"startMinute": 0,
"endHour": 17,
"endMinute": 0
}
]
},
"wednesday": {
"enabled": true,
"timeRanges": [
{
"startHour": 9,
"startMinute": 0,
"endHour": 17,
"endMinute": 0
}
]
},
"thursday": {
"enabled": true,
"timeRanges": [
{
"startHour": 9,
"startMinute": 0,
"endHour": 17,
"endMinute": 0
}
]
},
"friday": {
"enabled": true,
"timeRanges": [
{
"startHour": 9,
"startMinute": 0,
"endHour": 17,
"endMinute": 0
}
]
},
"saturday": { "enabled": false, "timeRanges": [] },
"sunday": { "enabled": false, "timeRanges": [] }
}
tcpaSchedule
object | null
required

TCPA schedule - applies to borrower local timezone

Example:
{
"monday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"tuesday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"wednesday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"thursday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"friday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"saturday": {
"enabled": true,
"timeRanges": [
{
"startHour": 8,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
},
"sunday": {
"enabled": true,
"timeRanges": [
{
"startHour": 13,
"startMinute": 0,
"endHour": 21,
"endMinute": 0
}
]
}
}
definition
object
required

Workflow definition

createdAt
string
required

Creation timestamp

updatedAt
string
required

Last update timestamp