outbound

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-outbound"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/3a54f1ef-9d8b-4cc5-aeee-3401241a9434/social-card.svg?v=3e7ae33eec8b" alt="outbound" width="600" height="315"></a>
POSThttps://hermeticor.com/v1/outbound/tasks/{id}/call

Click-to-call (or voicemail drop) from a call task through the workspace's Twilio; the call is logged on the task when Twilio reports back

Parameters

idstringpathrequired

Request body

application/json
modestring
call | voicemail = call
agentPhonestring
{
  "mode": "call",
  "agentPhone": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/outbound/tasks/{id}/call" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode":"call","agentPhone":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "callSid": "string"
}
Schema
callSidstringrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
5XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

GEThttps://hermeticor.com/v1/outbound/inbox-routing

Parameters

limitintegerquery
Page size; omitted returns the whole list
cursorstringquery
Opaque: the nextCursor of the previous page

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/outbound/inbox-routing" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "connectionId": "string",
      "assigneeUserId": "string",
      "channel": "email"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem218[]required
Show child parameters
connectionIdstringrequired
assigneeUserIdstringrequired
channelstringrequired
email | sms | whatsapp | linkedin
nextCursorstringrequired
4XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

5XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

PUThttps://hermeticor.com/v1/outbound/inbox-routing/{channel}

Default inbox and default assignee for new replies on a channel

Parameters

channelstringpathrequired
email | sms | whatsapp | linkedin

Request body

application/json
connectionIdstringrequired
assigneeUserIdstringrequired
{
  "connectionId": "string",
  "assigneeUserId": "string"
}

Code samples

cURL
curl -X PUT "https://hermeticor.com/v1/outbound/inbox-routing/{channel}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connectionId":"string","assigneeUserId":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "connectionId": "string",
  "assigneeUserId": "string",
  "channel": "email"
}
Schema
connectionIdstringrequired
assigneeUserIdstringrequired
channelstringrequired
email | sms | whatsapp | linkedin
4XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

5XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

GEThttps://hermeticor.com/v1/outbound/proposals

Messages proposed by AI agents, waiting for a person

Parameters

statusstringquery
pending | sent | blocked | rejected
sourcestringquery
limitintegerquery
= 50
cursorstringquery

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/outbound/proposals" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "profileId": "string",
      "channel": "email",
      "connectionId": "string",
      "subject": "string",
      "text": "string",
      "reason": "string",
      "source": "string",
      "sourceRef": "string",
      "status": "pending",
      "decidedAt": "2024-01-01T00:00:00Z",
      "result": "string",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem219[]required
Show child parameters
idstringrequired
profileIdstringrequired
channelstringrequired
email | linkedin
connectionIdstringrequired
subjectstringrequired
textstringrequired
reasonstringrequired
sourcestringrequired
sourceRefstringrequired
statusstringrequired
pending | sent | blocked | rejected
decidedAtstringrequired
resultstringrequired
createdAtstringrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

5XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

POSThttps://hermeticor.com/v1/outbound/proposals/{id}/decide

Approve (optionally edited) or reject; approving sends through the normal path, consent and suppression rechecked

Parameters

idstringpathrequired

Request body

application/json
actionstringrequired
approve | reject
subjectstring
textstring
{
  "action": "approve",
  "subject": "string",
  "text": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/outbound/proposals/{id}/decide" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"approve","subject":"string","text":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "id": "string",
  "profileId": "string",
  "channel": "email",
  "connectionId": "string",
  "subject": "string",
  "text": "string",
  "reason": "string",
  "source": "string",
  "sourceRef": "string",
  "status": "pending",
  "decidedAt": "2024-01-01T00:00:00Z",
  "result": "string",
  "createdAt": "2024-01-01T00:00:00Z"
}
Schema
idstringrequired
profileIdstringrequired
channelstringrequired
email | linkedin
connectionIdstringrequired
subjectstringrequired
textstringrequired
reasonstringrequired
sourcestringrequired
sourceRefstringrequired
statusstringrequired
pending | sent | blocked | rejected
decidedAtstringrequired
resultstringrequired
createdAtstringrequired
4XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

5XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

POSThttps://hermeticor.com/webhooks/outbound-voice/{workspaceId}/{taskId}

Twilio Voice status / dial / answering-machine callback: plays the voicemail clip or bridges the rep, and logs the call on the task

Parameters

kindstringqueryrequired
dial | status | amd
repstringquery
workspaceIdstringpathrequired
taskIdstringpathrequired

Code samples

cURL
curl -X POST "https://hermeticor.com/webhooks/outbound-voice/{workspaceId}/{taskId}?kind=dial"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
"string"
4XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

5XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

GEThttps://hermeticor.com/v1/calendar-feeds

Parameters

limitintegerquery
Page size; omitted returns the whole list
cursorstringquery
Opaque: the nextCursor of the previous page

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/calendar-feeds" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "name": "string",
      "taskScope": "mine",
      "includeTasks": true,
      "includeCampaigns": true,
      "id": "string",
      "tokenLast4": "string",
      "ownerUserId": "string",
      "lastAccessedAt": "2024-01-01T00:00:00Z",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem220[]required
Show child parameters
namestringrequired
taskScopestringrequired
mine | all = mine
includeTasksbooleanrequired
= true
includeCampaignsbooleanrequired
= true
idstringrequired
tokenLast4stringrequired
ownerUserIdstringrequired
lastAccessedAtstringrequired
createdAtstringrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

5XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

POSThttps://hermeticor.com/v1/calendar-feeds

Create a feed; the response holds the only copy of its subscription URL

Request body

application/json
namestringrequired
taskScopestring
mine | all = mine
includeTasksboolean
= true
includeCampaignsboolean
= true
{
  "name": "string",
  "taskScope": "mine",
  "includeTasks": true,
  "includeCampaigns": true
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/calendar-feeds" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","taskScope":"mine","includeTasks":true,"includeCampaigns":true}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "feed": {
    "name": "string",
    "taskScope": "mine",
    "includeTasks": true,
    "includeCampaigns": true,
    "id": "string",
    "tokenLast4": "string",
    "ownerUserId": "string",
    "lastAccessedAt": "2024-01-01T00:00:00Z",
    "createdAt": "2024-01-01T00:00:00Z"
  },
  "url": "string"
}
Schema
feedobjectrequired
Show child parameters
namestringrequired
taskScopestringrequired
mine | all = mine
includeTasksbooleanrequired
= true
includeCampaignsbooleanrequired
= true
idstringrequired
tokenLast4stringrequired
ownerUserIdstringrequired
lastAccessedAtstringrequired
createdAtstringrequired
urlstringrequired
4XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

5XX Default Response

Same as 4XX · POST /v1/outbound/tasks/{id}/call

Updated