Use Xquik in Make when a scenario needs X (Twitter) search, account lookups, trends, publishing, extraction jobs, monitors, or webhook automation without an X Developer app. Make discontinued its native X app in 2025. Start with a private Make custom app so your team can keep scenarios focused, test auth safely, and decide later whether to request public app review.Documentation Index
Fetch the complete documentation index at: https://docs.xquik.com/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Xquik API key
- Make organization with Custom Apps access
- HTTPS Make webhook URL for instant monitor-event scenarios
- Optional Slack, Sheets, Airtable, or CRM module for downstream steps
App Shape
Connection
Use an API key parameter named
apiKey and inject it as x-api-key.Base URL
Call Xquik REST modules from
https://xquik.com/api/v1.Modules
Start with Search Tweets, Get Tweet, Get User, Get Trends, Create Tweet, Create Extraction, Create Monitor, Create Webhook, and Make an API Call.
Triggers
Support Monitor Event instant webhooks and Extraction Completed polling.
Error handling
Map
401, 402, 429, and 5xx to short scenario messages./account endpoint as the connection test because it validates the API key without mutating data.
Connection
Create a connection parameter that stores the API key as a password field:GET /account to validate the connection:
Base Request Pattern
Use one base request pattern for JSON modules:401 authentication
Authentication failed. Check the Xquik API key.
402 billing state
Subscription or credits required. Update billing in Xquik.
429 rate limit
Rate limited. Respect the
Retry-After header before retrying.5xx transient
Xquik service unavailable. Retry with exponential backoff.
Starter Modules
Search Tweets
Search module. Call
GET /x/tweets/search with q; use cursor for page loops or limit for bounded pulls.Get Tweet
Action module. Call
GET /x/tweets/{id} with a tweet ID.Get User
Action module. Call
GET /x/users/{id} with a user ID or username.Get Trends
Search module. Call
GET /x/trends with optional woeid and count.Create Tweet
Action module. Call
POST /x/tweets with account, text, and optional public media URLs.Create Extraction
Action module. Call
POST /extractions with toolType, query fields, and result limit.Create Monitor
Action module. Call
POST /monitors with username and event types.Create Webhook
Action module. Call
POST /webhooks with callback URL and event types.Make an API Call
Universal module. Accept any
/api/v1 path as an escape hatch for endpoints not yet modeled.limit and omits cursor.
Output Handoff
Make response handling lets search modulesiterate over body.tweets while body stays available for output, wrapper, and pagination fields. Emit tweet bundles from item, then carry setup IDs, write status, and page cursors in scenario state when downstream modules need another request.
Tweet search page
Store
q, each tweet id, text, author.username, createdAt, body.has_next_page, and body.next_cursor.User profile rows
Store source
id as userId, plus username, name, followers, verified, and profilePicture. For user-list modules, carry body.has_next_page and body.next_cursor.Trend rows
Store each trend
name, rank, query, and description; keep body.count, body.woeid, and the selected region in scenario state.Tweet or reply write
Store
tweetId, charged, and chargedCredits on a 200 response. For 202 x_write_unconfirmed, store writeActionId, status, charged, and chargedCredits, then poll GET /x/write-actions/{id} before retrying.Public media upload
Store
mediaId, mediaUrl, and success. Use mediaUrl in tweet media arrays; reserve uploaded media IDs for one-item DMs.Monitor and webhook setup
Store monitor
id, username, xUserId, eventTypes, isActive, nextBillingAt, webhook id, url, eventTypes, and the one-time secret. For Make storage rows, map production deliveryId to delivery_id for receiver retry de-dupe and streamEventId to stream_event_id when one monitor event should process once across endpoint changes.Extraction jobs
Store
id, toolType, and status from POST /extractions; poll GET /extractions/{id}, then carry hasMore and nextCursor.Webhook event dedupe
Store
deliveryId for endpoint-level retry dedupe and streamEventId when one monitor event must process once across receiver changes.Instant Trigger: Monitor Events
Use a dedicated Make webhook for monitor events. Register that webhook URL in Xquik:Event type
Map
eventType to route tweet.new, tweet.reply, tweet.quote, and tweet.retweet events.Delivery ID
Map
deliveryId as the per-endpoint idempotency key for retries.Stream event ID
Map
streamEventId when one monitor event should process once across endpoint changes.Occurred at
Map
occurredAt as the event timestamp.Username
Map
username for account monitor events.Tweet ID
Map
data.id as the tweet identifier.Text
Map
data.text as the tweet body.Author username
Map
data.author.userName when present. Use username as the monitored-account fallback.x-xquik-signature with that secret before sending alerts.
Polling Trigger: Extraction Completed
Use a polling trigger when users want bulk results without webhook setup:GET /extractions/{id} and loop through nextCursor when hasMore is true.
Recipes
Social Listening To Slack
Monitor Event Trigger
Start from the Xquik Monitor Event instant trigger for
tweet.new, tweet.reply, tweet.quote, and tweet.retweet.Topic Filter
Filter on
eventType, username, and data.text before routing alerts.Slack Message
Create a Slack message from
data.text, data.id, data.author.userName, and occurredAt.Dedupe Store
Upsert by
deliveryId per endpoint. Use streamEventId when one monitor event should fan out once across endpoint changes.Daily Topic Research To Sheets
Schedule Trigger
Run the scenario on a daily schedule for repeatable topic research.
Search Tweets
Call Xquik Search Tweets with
q; use cursor for page loops or limit for bounded pulls.Iterator
Iterate over
tweets and pass one tweet bundle to each downstream module.Sheet Row
Append
id, author.username, text, createdAt, likeCount, and retweetCount.Bulk Extraction To CRM
Start Run
Use a scheduler or manual trigger to start the bulk extraction.
Create Extraction
Call Xquik Create Extraction with
toolType and the required target fields.Wait or Poll
Wait before polling, or reuse the Extraction Completed polling trigger.
Get Extraction
Call
GET /extractions/{id} until job.status is completed or failed.CRM Upsert
Upsert by user
id, then follow hasMore and nextCursor for additional result pages.Test Checklist
- Connection test rejects invalid API keys with a clear
401message. - Every module sanitizes
x-api-keyin logs. - Search modules return arrays and stable IDs for Make deduplication.
- Instant trigger maps
tweet.new,tweet.reply,tweet.quote, andtweet.retweet. - Extraction polling stops when no new completed jobs are returned.
429errors tell users to wait forRetry-After.- The Universal module accepts any
/api/v1path but still injects the API key.
Next Steps
- Read Webhooks for payload shape and retries.
- Read Extraction Workflow for job creation and pagination.
- Use Zapier or Pipedream when the team prefers code-backed workflow components.