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 apps
WarpX Browser
WarpX 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.
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 suggestsdeepseek-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 withThe prompt is emptyif nothing is left after they are filled in.ExampleType 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) to1or 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).
0sends no limit. An answer cut short ends withcut off at the token limitin 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.
aiResponseon 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
- Start
- Open URL
- Loop elements
- DeepSeek
- Conditions
- Telegram
- Create a key at
platform.deepseek.com/api_keys, top up the balance, and save the key in Databases → Credentials asdeepseekKey. - 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. - Inside the loop add DeepSeek with API key
{{secrets.deepseekKey}}, Modeldeepseek-chatand Temperature0, so the same message is always sorted the same way. - Write the categories in Prompt, ask for
typeandurgentin Instructions (optional), tick Answer in JSON, saved as an object and name the variableverdict. - Add Conditions with
{{variables.verdict.urgent}}equalstrue, and send those to a Telegram block. - 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-reasonerignores Temperature and spends tokens thinking before it answers. Leave Max tokens (0 for no limit) at0, 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.