> For the complete documentation index, see [llms.txt](https://docs.stackai.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stackai.com/getting-started/learning/stackai-building-challenges/3.-send-http-requests.md).

# 3. Send HTTP Requests

## Challenge overview

Build a workflow that creates Trello cards from structured user input.

Then extend it to update existing cards by matching the user’s request to the closest card name.

### Scenario

> Our project team is creating Trello cards manually for every new task that comes in — typing titles, descriptions, and due dates one by one.
>
> We need an internal tool where a team member can describe a task, and the system automatically creates a properly structured Trello card in the to-do list on our board.

### Setup

1. Create a free Trello account at [trello.com](https://trello.com).
2. Create a board with at least three lists.
   * Example: `To Do`, `In Progress`, `Done`
3. Get your API key.
4. Generate a token.

### Interface

Build a **Form** interface with these inputs:

* Task
* Description
* List

The `List` input should be a dropdown that contains the list names from your board.

### Sample inputs

* Task: `Design new onboarding screens`
  * Description: `Create mockups for the 3-step onboarding flow discussed in Monday's sync`
  * List: `To Do`
* Task: `Write Q2 marketing brief`
  * Description: `Cover campaign goals, target audience, and budget breakdown for the Q2 push`
  * List: `Done`

### What to build

Your workflow should:

1. Accept the three form inputs.
2. Map the selected list to the correct Trello list ID.
3. Use **Send HTTP Request** to call Trello’s **Create a New Card** endpoint.
4. Create the card in the right list.

### Hint

{% hint style="info" %}

* You may need a second Trello endpoint to retrieve list IDs.
* You can get the board ID from the board URL.
* The mapping from user-facing list name to list ID must stay dynamic.
  {% endhint %}

### Key considerations

{% hint style="info" %}

* Use the **Send HTTP Request** node for the API call.
* Read the Trello docs closely.
* Focus on the cURL example and query parameters.
* Translate each API field into the correct request section:
  * URL
  * HTTP method
  * headers
  * query parameters
  * request body
    {% endhint %}

### Extension

Add support for updating the description of an existing card.

When updating, the user provides:

* The card name
* The list the card belongs to
* The new description

The workflow should:

1. Find the closest matching card name in the selected list.
2. Update the matching card description.
3. Support approximate matches.
   * Example: `work on workflow` should match `Build workflow`

Then recreate the same workflow using **Code Execution** or the **Terminal** tool instead of the earlier approach.

### Helpful docs

* [StackAI](/workflow-builder/core-nodes/stackai.md)
* [Form](/interface-and-deployment/end-user-interfaces/form.md)
* [StackAI Computer](/workflow-builder/apps/stackai-computer.md)
* [Custom API](/workflow-builder/utils-logic-and-others/utils/custom-api.md)
* [Template Node](/workflow-builder/outputs/template-node.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.stackai.com/getting-started/learning/stackai-building-challenges/3.-send-http-requests.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
