Pipedream
Automatiza flujos en Pipedream para búsqueda de tweets, perfiles, tendencias, disparadores HTTP y publicaciones aprobadas a través de TwexAPI.
Crea una integración de Twitter en Pipedream para búsquedas, perfiles, tweets en tendencia y publicaciones aprobadas. TwexAPI proporciona una sola REST API y una sola API key para cada flujo.
Elige un disparador webhook para entregas de agentes, un disparador programado para búsquedas recurrentes o pasos de código inline cuando necesites normalización personalizada.
Elige un patrón de automatización en Pipedream
Disparador HTTP + paso de código
Recibe JSON estricto de un agente MCP, normaliza filas y enruta a Slack o Sheets.
Lecturas REST programadas
Llama a TwexAPI según una cadencia para búsqueda de tweets o informes de tendencias.
Paquete de componentes privado
Empaqueta solicitudes autenticadas repetidas cuando todo el equipo necesita las mismas acciones.
Separa búsquedas, entregas por webhook, exportaciones de seguidores y escrituras aprobadas en flujos distintos. Flujos más pequeños exponen errores y límites de tasa con más claridad.
Requisitos previos
- API key de TwexAPI
- Cuenta de Pipedream
- Cuentas conectadas opcionales para Slack, Google Sheets, Airtable o una base de datos
- Agente opcional compatible con MCP conectado a
https://api.twexapi.io/mcp
Integración API serverless
Inicia cada solicitud TwexAPI en https://api.twexapi.io. Envía la API key mediante el encabezado Authorization: Bearer. Mantén las keys en variables de entorno de Pipedream, no en exportaciones de pasos ni logs.
export TWEXAPI_API_KEY="YOUR_API_KEY"
Usa GET /balance como primera comprobación de autenticación. Verifica la API key sin cambiar una cuenta de X.
Helper compartido de solicitudes
export default defineComponent({
props: {
twexapi: {
type: "string",
label: "TwexAPI API Key",
secret: true,
},
},
methods: {
async twexapiRequest($, { method, path, body, params }) {
const url = new URL(`https://api.twexapi.io${path}`);
if (params) {
Object.entries(params).forEach(([key, value]) => {
if (value !== undefined && value !== null) {
url.searchParams.set(key, String(value));
}
});
}
const response = await fetch(url, {
method,
headers: {
Authorization: `Bearer ${this.twexapi}`,
"Content-Type": "application/json",
},
body: body ? JSON.stringify(body) : undefined,
});
if (!response.ok) {
throw new Error(`TwexAPI request failed with HTTP ${response.status}`);
}
return response.json();
},
},
});
Acciones iniciales
| Acción | Ruta TwexAPI |
|---|---|
| Buscar tweets | POST /twitter/advanced_search/page |
| Obtener perfil de usuario | GET /twitter/{screen_name}/about |
| Buscar usuarios | GET /twitter/search-user/{keyword}/{target_count} |
| Obtener tendencias | GET /twitter/global-trending/tweets |
| Listar seguidores | POST /v3/twitter/users/followers |
| Crear tweet | POST /twitter/tweets/create |
Paso de código para búsqueda de tweets
export default defineComponent({
async run({ steps, $ }) {
const response = await fetch("https://api.twexapi.io/twitter/advanced_search/page", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.TWEXAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
searchTerms: ["AI agents lang:en"],
sortBy: "Latest",
nextCursor: "",
}),
});
if (!response.ok) {
throw new Error(`TwexAPI request failed with HTTP ${response.status}`);
}
return response.json();
},
});
Flujo webhook-first
- Crea un disparador HTTP en Pipedream.
- Pide a un agente compatible con MCP que recopile filas de TwexAPI y devuelva JSON estricto.
- Haz POST del JSON al endpoint de Pipedream.
- Normaliza y deduplica filas en un paso de código.
Paso de normalización en JavaScript
export default defineComponent({
async run({ steps }) {
const payload = steps.trigger.event.body;
return (payload.tweets || []).map((tweet) => ({
id: tweet.tweet_id || tweet.id,
url: tweet.public_url ?? `https://x.com/i/web/status/${tweet.tweet_id || tweet.id}`,
author: tweet.author_username,
text: tweet.text || tweet.full_text,
created_at: tweet.created_at,
route_used: payload.route_used,
next_cursor: payload.next_cursor,
}));
},
});
Prompt sugerido para agente MCP:
Use Twexapi MCP to get quote tweets for tweet ID 1803006263529541838.
Return only JSON with route_used, source_tweet_id, has_more, next_cursor, and tweets.
Each tweet must include tweet_id, author_username, text, created_at, and public_url.
Do not call write endpoints.
Entrega de resultados
Páginas de tweets
Exporta tweet_count, has_more y next_cursor; devuelve filas con tweet_id, text, author_username y created_at.
Filas de perfil
Exporta user_id, username, name, conteos de seguidores y campos de verificación.
Lotes de tendencias
Exporta país, tema, etiqueta de contenido y filas de tweets con metadatos del flujo.
Acciones de escritura
Previsualiza con el CLI --dry-run. Las acciones de escritura requieren una cookie o auth_token.
Manejo de errores
Enruta cada estado antes de exportar filas posteriores.
| Estado | Acción |
|---|---|
400 |
Corrige campos de la solicitud; no reintentes sin cambios. |
401 |
Reemplaza la API key. |
403 |
Resuelve acceso a la cuenta o créditos. |
429 |
Haz backoff y conserva el cursor. |
5xx |
Reintenta lecturas seguras con backoff acotado. |
Persiste un cursor de página solo después de que el procesamiento posterior tenga éxito.
Recetas
Búsqueda de tweets a Slack
- Programa el flujo según tu cadencia de informes.
- Llama a
POST /twitter/advanced_search/page. - Filtra tweets por umbral de engagement.
- Envía texto del tweet seleccionado, autor y enlace a Slack.
Entrega de agente a Google Sheets
- El disparador HTTP recibe JSON de entrega MCP.
- Normaliza filas de tweets.
- Haz upsert en Sheets por
tweet_id.
Página de seguidores a CRM
- El paso HTTP o programado llama a
POST /v3/twitter/users/followers. - Normaliza filas de seguidores.
- El CRM hace upsert por
user_id. - El data store conserva
next_cursor.
Lista de verificación de pruebas
- Confirma que el cuerpo del disparador es JSON válido.
- Usa
tweet_idouser_idcomo clave de deduplicación. - Guarda
next_cursoren data stores de Pipedream para continuación programada. - Mantén
TWEXAPI_API_KEYsolo en variables de entorno. - Nunca registres tokens Bearer en la salida de pasos.