Block reference / Online services

DeepSeek

Ask a DeepSeek model a question built from the run's data and keep the answer in a variable.

In both appsWarpX BrowserWarpX Phone

DeepSeek does the same job as ChatGPT with DeepSeek's models, which cost little per token — useful when a workflow asks once per row of a long list. Write a prompt with references in it; the answer comes back as text, or as an object with Answer in JSON, saved as an object. deepseek-chat answers quickly, deepseek-reasoner thinks first and is slower.

The DeepSeek block's settings, filled in as in the example below.

Settings

API key

Your key, from platform.deepseek.com/api_keys. Keep it in Databases → Credentials and write {{secrets.deepseekKey}} here, as the hint under the field suggests: the workflow file then holds the name, not the key, and the run's log shows •••••• wherever the key would appear.

Example{{secrets.deepseekKey}}
Model

The model to ask. Empty means deepseek-chat. The field suggests deepseek-chat, deepseek-reasoner, but it is free text: any model name the provider offers can be typed in.

Exampledeepseek-chat
Instructions (optional)

The system prompt: how the model should behave on every run, separate from the question. Good for the format of the answer, the language, the length. Leave it empty to send the prompt alone.

ExampleClassify customer messages. Answer with JSON: {"type": ..., "urgent": true or false}.
Prompt

The question. References such as {{variables.pageText}} or {{loopData.row.name}} are filled in before it is sent, so one block asks something different for each profile or row. The block fails with The prompt is empty if nothing is left after they are filled in.

Example
Type is one of: refund, shipping, question, spam.

Message from {{loopData.message.sender}}:
{{loopData.message.text}}
Temperature

How varied the answer is, usually from 0 (the same answer every time) to 1 or more (more creative). Empty, shown as Model default, sends nothing and lets the model use its own. Some reasoning models accept only their default.

Example0
Max tokens (0 for no limit)

The longest answer the model may write, in tokens (roughly three quarters of a word each). 0 sends no limit. An answer cut short ends with cut off at the token limit in the log line.

Example100
Answer in JSON, saved as an object

Asks the model for JSON and parses the answer, so later blocks read its parts, such as {{variables.summary.price}}. Say in the prompt which keys you want. If the answer still is not valid JSON, the text is kept as it came.

ExampleChecked
Assign to variable

Keeps the answer in a variable. On for a new block.

ExampleChecked
Variable namewhen Assign to variable is ticked

The variable that receives the answer. aiResponse on a new block.

Exampleverdict
Insert to table

Also writes the answer into a column of the workflow's table. Offered only when the workflow has table columns. A JSON answer is written as the object.

ExampleUnchecked
Select columnwhen Insert to table is ticked

The column that receives the answer.

Examplesummary

Every block also has the shared block settings — a description, Disable block and what to do on an error. Fields that take text accept data from earlier blocks.

What it hands on

The answer goes to the variable you named, here {{variables.verdict}}, to the table column if you chose one, and on to the next block as {{prevBlockData}}. With Answer in JSON, saved as an object it is an object; otherwise it is text. The log line reads like DeepSeek <model> · 412 tokens, and opening it shows the prompt, the instructions and the answer the run actually used. The block leaves by its single output. When the provider refuses, the block fails with the provider's own reason, such as DeepSeek answered 401: Incorrect API key provided.

Example: Sort the inbox messages of a seller account

  1. Start
  2. Open URL
  3. Loop elements
  4. DeepSeek
  5. Conditions
  6. Telegram
Where DeepSeek sits in the example workflow.
  1. Create a key at platform.deepseek.com/api_keys, top up the balance, and save the key in Databases → Credentials as deepseekKey.
  2. Open the account's messages page with Open URL and loop over the conversations with Loop elements, reading each one's sender and text into a loop item named message.
  3. Inside the loop add DeepSeek with API key {{secrets.deepseekKey}}, Model deepseek-chat and Temperature 0, so the same message is always sorted the same way.
  4. Write the categories in Prompt, ask for type and urgent in Instructions (optional), tick Answer in JSON, saved as an object and name the variable verdict.
  5. Add Conditions with {{variables.verdict.urgent}} equals true, and send those to a Telegram block.
  6. Run it. Each message's log line reads like DeepSeek deepseek-chat · 210 tokens.

Good to know

  • The request goes from this computer straight to DeepSeek, not through the profile's browser or its proxy. The provider sees your own connection, and it bills your key for every run.
  • The prompt, the instructions and the answer are kept in the run's log. Values that came from Credentials are shown there as ••••••, but anything else you put in the prompt — scraped text, an email address — is written down as it was sent.
  • A key typed straight into API key is saved in the workflow and travels with every exported copy of it. {{secrets.name}} avoids that.
  • The block waits up to two minutes for an answer. A slow model with a long answer can hit that; ask for less, or set Max tokens (0 for no limit).
  • Each run of the block is one new conversation: the model does not remember earlier runs or earlier blocks. Put everything it needs into the prompt.
  • A DeepSeek key works only while the account has a balance. An empty one answers DeepSeek answered 402: Insufficient Balance.
  • deepseek-reasoner ignores Temperature and spends tokens thinking before it answers. Leave Max tokens (0 for no limit) at 0, or high, so the thinking does not use up the limit before the answer is written.

See also

  • ChatGPT — Ask an OpenAI model a question built from the run's data and keep the answer in a variable.
  • Gemini — Ask a Google Gemini model a question built from the run's data and keep the answer in a variable.
  • Grok — Ask an xAI Grok model a question built from the run's data and keep the answer in a variable.
  • Conditions — Send the run down one of several paths, depending on values, page elements or code.