docs
EnglishChatigram website ↗Open Chatigram
Recipes

Send a website request to a service desk

Collect a visitor’s next text message and forward it to your configured service-desk intake endpoint with a useful fallback.

Send a website request to a service desk Expand a node to see its configuration

Swipe sideways to explore the workflow branches.

  • TRIGGERNew Chat Created

    Example configuration

    {}
      • askForRequestSend Text Message

        Example configuration

        {
          "message": [
            {
              "$tag": "Constant",
              "value": "Please describe what you need help with."
            }
          ]
        }
          • requestTextReceive Message

            Example configuration

            {
              "receiveText": true,
              "receiveAudio": false,
              "receiveImage": false,
              "receiveVideo": false,
              "receiveFile": false
            }
              • createRequestExternal API integration

                Example configuration

                {
                  "request": {
                    "method": "POST",
                    "path": [
                      {
                        "$tag": "Constant",
                        "value": "https://business-api.example.invalid/service-desk/intake"
                      }
                    ],
                    "headers": [
                      {
                        "key": "Content-Type",
                        "value": [
                          {
                            "$tag": "Constant",
                            "value": "text/plain"
                          }
                        ]
                      }
                    ],
                    "queryStrings": [],
                    "body": [
                      {
                        "$tag": "Variable",
                        "name": "requestText.textMessage"
                      }
                    ]
                  },
                  "responseHandlers": [
                    {
                      "$tag": "GetWholeAsString",
                      "variableName": "response"
                    }
                  ]
                }
                • Success
                  • confirmationSend Text Message

                    Example configuration

                    {
                      "message": [
                        {
                          "$tag": "Constant",
                          "value": "Your request has been passed to the support intake service."
                        }
                      ]
                    }
                • Error
                  • fallbackSend Text Message

                    Example configuration

                    {
                      "message": [
                        {
                          "$tag": "Constant",
                          "value": "We could not submit your request right now. Please use our usual support contact so the team can help."
                        }
                      ]
                    }

This diagram follows the downloadable workflow. Edit and run it in Chatigram.Swipe the diagram to explore its branches.

Plan availability #

Feature Free Starter Pro Enterprise
Active Lines 2 5 15 Unlimited
Active workflows 3 10 45 Unlimited

Allowances follow the published Chatigram pricing page. Your organization’s Billing & Plans screen confirms its subscription and current usage. Plans can change. Plan information reviewed 2026-11-10.

The business outcome #

Collect a visitor’s next text message and forward it to your configured service-desk intake endpoint with a useful fallback.

This is an importable starter using Chatigram’s current native nodes. It needs destination-specific setup; it does not imply a dedicated connector for every CRM or ERP brand. Check your software’s API documentation and permissions.

Before you begin #

Configure your service-desk intake URL and authorization, confirm it accepts plain text, replace the support fallback, and assign the workflow to a test Line.

The reserved example.invalid endpoint is deliberately non-working. No real customer data, account credentials, or private resource identifiers are embedded. Keep the workflow disabled until setup is complete.

Configure the workflow #

  1. Review the greeting and fallback so they match your team’s actual support process.
  2. Configure createRequest with a real service-desk intake or a gateway you control. This template forwards the received text as text/plain.
  3. If your provider expects JSON, configure a supported structured transformation instead of inserting arbitrary customer text into a hand-built JSON string.
  4. Assign the reviewed workflow to a test Line. The success message indicates submission to the endpoint, not that a human has already read the request.

Test the outcomes #

  • Start a fresh chat, send text, and verify a single request at the destination.
  • Test an unavailable intake endpoint and confirm the fallback is useful.
  • Check that customer text containing quotes and newlines is handled correctly by your selected input format.

Open Workflow Activity after the test. Import validation checks the definition; it does not prove a remote API accepted the business operation. Check the destination before repeating a send or write.

Make it your own #

Put reusable public settings in Properties, configure credentials through the protected connection options, and keep explicit error paths. Explore App Connections for existing provider-specific actions you can substitute through the editor.

Use the copy controls below for the complete workflow or its first node. The diagram and downloads come from the same definition. Use Share recipe to share the guide’s public address.

READY TO CUSTOMIZE

Try this in Chatigram

Setup required. Configure your service-desk intake URL and authorization, confirm it accepts plain text, replace the support fallback, and assign the workflow to a test Line. Placeholder endpoints use example.invalid and cannot call a real business service. Keep the workflow disabled until you finish the setup and review its effects.

Download JSON
View workflow JSON
Workflow JSON
{
  "format": "chatigram-workflow",
  "version": 1,
  "metadata": {
    "sourceName": "Send a website request to a service desk",
    "importHelp": {
      "note": "Setup required. Configure your service-desk intake URL and authorization, confirm it accepts plain text, replace the support fallback, and assign the workflow to a test Line. Placeholder endpoints use example.invalid and cannot call a real business service. Keep the workflow disabled until you finish the setup and review its effects."
    }
  },
  "workflow": {
    "instruction": null,
    "multiLanguageSupport": null,
    "properties": [],
    "trigger": {
      "$tag": "Trigger",
      "type": "CONVERSATION_CREATED",
      "data": {}
    },
    "nodes": [
      {
        "$tag": "Node",
        "id": "d0c00000-0000-4000-8000-000000000001",
        "name": "askForRequest",
        "parentId": null,
        "branchIndex": 0,
        "type": "SEND_TEXT_MESSAGE",
        "data": {
          "message": [
            {
              "$tag": "Constant",
              "value": "Please describe what you need help with."
            }
          ]
        }
      },
      {
        "$tag": "Node",
        "id": "d0c00000-0000-4000-8000-000000000002",
        "name": "requestText",
        "parentId": "d0c00000-0000-4000-8000-000000000001",
        "branchIndex": 0,
        "type": "RECEIVE_MESSAGE",
        "data": {
          "receiveText": true,
          "receiveAudio": false,
          "receiveImage": false,
          "receiveVideo": false,
          "receiveFile": false
        }
      },
      {
        "$tag": "Node",
        "id": "d0c00000-0000-4000-8000-000000000003",
        "name": "createRequest",
        "parentId": "d0c00000-0000-4000-8000-000000000002",
        "branchIndex": 0,
        "type": "HTTP_REQUEST_NODE_TYPE",
        "data": {
          "request": {
            "method": "POST",
            "path": [
              {
                "$tag": "Constant",
                "value": "https://business-api.example.invalid/service-desk/intake"
              }
            ],
            "headers": [
              {
                "key": "Content-Type",
                "value": [
                  {
                    "$tag": "Constant",
                    "value": "text/plain"
                  }
                ]
              }
            ],
            "queryStrings": [],
            "body": [
              {
                "$tag": "Variable",
                "name": "requestText.textMessage"
              }
            ]
          },
          "responseHandlers": [
            {
              "$tag": "GetWholeAsString",
              "variableName": "response"
            }
          ]
        }
      },
      {
        "$tag": "Node",
        "id": "d0c00000-0000-4000-8000-000000000004",
        "name": "confirmation",
        "parentId": "d0c00000-0000-4000-8000-000000000003",
        "branchIndex": 0,
        "type": "SEND_TEXT_MESSAGE",
        "data": {
          "message": [
            {
              "$tag": "Constant",
              "value": "Your request has been passed to the support intake service."
            }
          ]
        }
      },
      {
        "$tag": "Node",
        "id": "d0c00000-0000-4000-8000-000000000005",
        "name": "fallback",
        "parentId": "d0c00000-0000-4000-8000-000000000003",
        "branchIndex": 1,
        "type": "SEND_TEXT_MESSAGE",
        "data": {
          "message": [
            {
              "$tag": "Constant",
              "value": "We could not submit your request right now. Please use our usual support contact so the team can help."
            }
          ]
        }
      }
    ],
    "gotos": []
  }
}
Keep building.Need help with this? Explore troubleshooting ↗

Find an answer. Try “welcome workflow”, “database”, or “Telegram”.