ByteChef LogoByteChef

Infobip

Infobip is a global communications platform that provide cloud-based messaging and omnichannel communication solutions for businesses.

Categories: Communication

Type: infobip/v1


Connections

Version: 1

API Key

Properties

NameLabelTypeDescriptionRequired
keyAPI KeySTRINGtrue
baseUrlBase URLSTRINGPersonalized base URL for API requests.true

Connection Setup

  1. Navigate to https://portal.infobip.com/homepage.
  2. Open left sidebar menu.
  3. Expand Developer Tools and click on API Keys.
  4. Click on Create api key.
  5. Fill in the required fields.
  6. Select all needed scopes: inbound-message:read, whatsapp:manage and numbers:manage.
  7. Click on CREATE.
  8. You have your API key.

Actions

Send SMS

Name: sendSMS

Send a new SMS message to one or more recipients.

Properties

NameLabelTypeDescriptionRequired
senderFromSTRINGThe sender ID. It can be alphanumeric or numeric (e.g., CompanyName).true
toToARRAY
Items [STRING]
Message recipient numbers.true
textTextSTRINGContent of the message being sent.true

Example JSON Structure

{
  "label" : "Send SMS",
  "name" : "sendSMS",
  "parameters" : {
    "sender" : "",
    "to" : [ "" ],
    "text" : ""
  },
  "type" : "infobip/v1/sendSMS"
}

Output

Type: OBJECT

Properties

NameTypeDescription
bulkIdSTRINGID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
messagesARRAY
Items [{STRING(messageId), {INTEGER(groupId), STRING(groupName), INTEGER(id), STRING(name), STRING(description), STRING(action)}(status), STRING(destination), {INTEGER(messageCount)}(details)}]
An array of message objects of a single message or multiple messages sent under one bulk ID.

Output Example

{
  "bulkId" : "",
  "messages" : [ {
    "messageId" : "",
    "status" : {
      "groupId" : 1,
      "groupName" : "",
      "id" : 1,
      "name" : "",
      "description" : "",
      "action" : ""
    },
    "destination" : "",
    "details" : {
      "messageCount" : 1
    }
  } ]
}

Send Whatsapp Template Message

Name: sendWhatsappTemplateMessage

Send a template message.

Properties

NameLabelTypeDescriptionRequired
fromFromSTRINGRegistered WhatsApp sender number. Must be in international format and comply with WhatsApp's requirements.true
toToSTRINGMessage recipient number. Must be in international format.true
templateNameTemplate NameSTRING
Depends On from
Name of the WhatsApp template to use.true
placeholdersDYNAMIC_PROPERTIES
Depends On templateName
null

Example JSON Structure

{
  "label" : "Send Whatsapp Template Message",
  "name" : "sendWhatsappTemplateMessage",
  "parameters" : {
    "from" : "",
    "to" : "",
    "templateName" : "",
    "placeholders" : { }
  },
  "type" : "infobip/v1/sendWhatsappTemplateMessage"
}

Output

Type: OBJECT

Properties

NameTypeDescription
messagesARRAY
Items [{STRING(to), INTEGER(messageCount), STRING(messageId), {INTEGER(groupId), STRING(groupName), INTEGER(id), STRING(name), STRING(description), STRING(action)}(status)}]

Output Example

{
  "messages" : [ {
    "to" : "",
    "messageCount" : 1,
    "messageId" : "",
    "status" : {
      "groupId" : 1,
      "groupName" : "",
      "id" : 1,
      "name" : "",
      "description" : "",
      "action" : ""
    }
  } ]
}

Send WhatsApp Text Message

Name: sendWhatsappTextMessage

Send a WhatsApp text message to a single recipient.

Properties

NameLabelTypeDescriptionRequired
fromFromSTRINGRegistered WhatsApp sender number. Must be in international format and comply with WhatsApp's requirements.true
toToSTRINGMessage recipient number. Must be in international format.true
textTextSTRINGContent of the message being sent.true

Example JSON Structure

{
  "label" : "Send WhatsApp Text Message",
  "name" : "sendWhatsappTextMessage",
  "parameters" : {
    "from" : "",
    "to" : "",
    "text" : ""
  },
  "type" : "infobip/v1/sendWhatsappTextMessage"
}

Output

Type: OBJECT

Properties

NameTypeDescription
toSTRINGThe destination address of the message.
messageCountINTEGERNumber of messages required to deliver.
messageIdSTRINGID of the message sent.
statusOBJECT
Properties {INTEGER(groupId), STRING(groupName), INTEGER(id), STRING(name), STRING(description), STRING(action)}
Status of the message.

Output Example

{
  "to" : "",
  "messageCount" : 1,
  "messageId" : "",
  "status" : {
    "groupId" : 1,
    "groupName" : "",
    "id" : 1,
    "name" : "",
    "description" : "",
    "action" : ""
  }
}

Triggers

New SMS Message

Name: newSMS

Triggers when a new SMS message is received.

Type: DYNAMIC_WEBHOOK

Properties

NameLabelTypeDescriptionRequired
numberNumberSTRINGNumber to monitor for new SMS messages.true
keywordKeywordSTRINGKeywords are words at the beginning of the message text of the inbound message that are used to filter out specific messages received on a number.false

Output

The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.

JSON Example

{
  "label" : "New SMS Message",
  "name" : "newSMS",
  "parameters" : {
    "number" : "",
    "keyword" : ""
  },
  "type" : "infobip/v1/newSMS"
}

Keyword Property

To learn more about keyword property, click here.

New WhatsApp Message

Name: newWhatsappMessage

Triggers when a new WhatsApp message is received.

Type: DYNAMIC_WEBHOOK

Properties

NameLabelTypeDescriptionRequired
numberNumberSTRINGNumber to monitor for new WhatsApp messages.true
keywordKeywordSTRINGKeywords are words at the beginning of the message text of the inbound message that are used to filter out specific messages received on a number.false

Output

The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.

JSON Example

{
  "label" : "New WhatsApp Message",
  "name" : "newWhatsappMessage",
  "parameters" : {
    "number" : "",
    "keyword" : ""
  },
  "type" : "infobip/v1/newWhatsappMessage"
}

Keyword Property

To learn more about keyword property, click here.

What to do if your action is not listed here?

If this component doesn't have the action you need, you can use Custom Action to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.

To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.


Additional Instructions

Keywords

Infobip keywords are specific words or phrases associated with a number that Infobip uses to decide how to route incoming messages and which actions to trigger. In ByteChef, the Keyword field (used, for example, in the New WhatsApp Message trigger) lets you take advantage of this mechanism.

How keywords work

  • A keyword is typically a word or short code that appears in the incoming message (for example: START, HELP, SALES).
  • Infobip matches incoming messages against the configured keywords on a given number and can perform different actions based on which keyword was used.
  • ByteChef passes the configured keyword to Infobip when enabling the webhook, so only messages that match that keyword (according to Infobip’s rules and configuration) will be delivered to the webhook and can trigger your workflow.

When to use a keyword

Use a keyword when you want to:

  • Route only specific messages to this trigger (e.g. messages that start with ORDER).
  • Have multiple workflows that react differently to messages sent to the same number, based on the keyword.
  • Implement opt‑in / opt‑out flows or different “channels” (e.g. NEWS, PROMO, SUPPORT) on a single number.

If you do not need keyword‑based routing and want to handle all incoming messages for a number with a single workflow, you can leave the keyword field empty (or follow your Infobip configuration strategy).

For detailed information about how keywords work in Infobip, see the official documentation.

How is this guide?

Last updated on

On this page