Elephan.ai (no trailing “t”) is the revenue intelligence platform at elephan.ai. It is a different product from Elephant.ai, an unrelated chatbot builder. This connector reads from the Elephan.ai External API.
1. Add your Elephan.ai access
- In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Elephan.ai option from the list of connectors.
- Click Next and you’ll be prompted to add your access.
-
API Key: Your Elephan.ai API key, in the
elk_prod_...format. Generate it inside Elephan.ai under Configurações → API / Integrações → Gerar nova API Key. - Start Date: (Optional, advanced) The earliest record date to sync on the first run. Leave it empty to sync the full history of your team.
- Requests per Minute: (Optional, advanced) How many API requests per minute the connector is allowed to make. The default of 15 is deliberately conservative. Only raise it after confirming your account’s real limit with Elephan.ai.
- Click Next.
2. Select your Elephan.ai streams
-
The next step is letting us know which streams you want to bring. You can select entire groups of streams or only a subset of them.
Tip: The stream can be found more easily by typing its name.
If you don’t see a stream you were expecting to find, please check if your access key has access to it. If that’s not the issue, then it’s probably because we still haven’t implemented it. Feel free to get in touch and request it!
- Click Next.
3. Configure your Elephan.ai data streams
- Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a name for each table (which will effectively contain the fetched data) and the type of sync.
- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: depending on the data you are bringing to the lake, you can choose between INCREMENTAL and FULL_TABLE. Read more about Sync Types here.
- Click Next.
4. Configure your Elephan.ai data source
- Describe your data source for easy identification within your organization. You can inform things like what data it brings, to which team it belongs, etc.
- To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times).
- Optionally, you can define some additional settings (if available).
- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
Check your new source!
- Click Next to finalize the setup. Once completed, you’ll receive confirmation that your new source is set up!
- You can view your new source on the Sources page. Now, for you to be able to see it on your Catalog, you have to wait for the pipeline to run. You can now monitor it on the Sources page to see its execution and completion. If needed, manually trigger the pipeline by clicking on the refresh icon. Once executed, your new table will appear in the Catalog section.
If you encounter any issues, reach out to us via Slack, and we’ll gladly assist you!
How the data is replicated
Meetings, conversations and insights replicate incrementally ondate_included, the timestamp when the record was added to Elephan.ai. Each sync asks the API for everything included after the highest date_included already extracted.
Users, prompts and the scorecard aggregates are extracted in full on every run, since they describe the current state of your team rather than a stream of events.
The scorecard aggregates (scorecard_by_seller and scorecard_by_question) are recomputed by Elephan.ai over a period rather than being an event log. The connector asks for the window that starts at your configured Start Date — or the last 365 days when none is set — and ends at the moment of the sync. Every row records the exact window it was computed over in period_start and period_end.
Nested data is delivered as JSON strings. Fields holding lists or objects — such as answers, competitors, reasons, transcript_speakers, distribution and by_question — arrive as JSON strings, so you can parse them in a Query when you need the individual keys. Simple lists of text, such as keywords and tags, remain regular arrays.
The API never returns the body of WhatsApp messages. The
conversation_messages stream carries only metadata — timestamp, direction, author and message type. The AI-generated summary of a WhatsApp conversation is likewise not exposed by the listing endpoint.Rate limits
Elephan.ai does not publish a documented rate limit. The connector therefore throttles itself to 15 requests per minute by default and automatically waits and retries when the API asks it to. If Elephan.ai confirms a higher limit for your account, raise the Requests per Minute setting to speed up large extractions.Streams and Fields
Below you’ll find all available data streams from Elephan.ai and their corresponding fields.Transcribes
Transcribes
Meetings recorded, transcribed and analyzed by Elephan.ai. This is the core entity of the platform.Key Fields:
id- Unique identifier of the meetingtitle- Title of the meetingdate_included- Timestamp when the meeting was added to Elephan.ai, used as the incremental replication keydate_modified- Timestamp when the meeting record was last updatedstatus- Processing status of the transcription, where D means doneduration- Length of the recorded audio in secondsuser_id- Identifier of the user who owns the meetinguser_name- Name of the user who owns the meetinguser_email- Email address of the user who owns the meetingprompt_id- Identifier of the meeting type applied to the analysisprompt_name- Name of the meeting type applied to the analysisprompt_type- Category of the meeting type, such as salesdeal_id- Identifier of the CRM record linked to the meeting, as it exists in the CRMdeal_type- Kind of CRM record linked to the meeting: deal, contact or companydeal_crm_url- Direct link to the linked record in the CRM, when a CRM integration is configuredtranscript_text- Full text of the meeting transcriptiontranscript_speakers- Per-speaker breakdown of the transcription, with the spoken text, its offsets in seconds and its sentiment, as a JSON stringanswers- Scorecard answers produced for the meeting, as a JSON stringkeywords- Keywords detected in the meetingcompetitors- Competitors mentioned during the meeting, with how often and the position taken, as a JSON stringreasons- Reasons detected in the meeting, such as objections, as a JSON stringtags- Tags applied to the meetingimportant_points- Key points the AI highlighted from the meetingsentiment_total- Overall sentiment of the meetingsentiment_by_speaker- Sentiment attributed to each speaker, as a JSON stringsummary- Plain-text summary of the meeting generated by the AI
Conversations
Conversations
WhatsApp conversations tracked by Elephan.ai, with metadata and scorecard statistics.Key Fields:
id- Unique identifier of the conversationcontact_name- Name of the contact on the other side of the conversationphone_number- Phone number of the contact, in international formatpicture_url- URL of the contact’s profile pictureuser_id- Identifier of the team member who owns the conversationuser_name- Name of the team member who owns the conversationuser_email- Email address of the team member who owns the conversationmessage_count- Number of messages exchanged in the conversationlast_message_at- Timestamp of the most recent message in the conversationscorecard_total_answers- Number of scorecard answers evaluated for the conversationscorecard_average- Average scorecard score across the conversation’s answersdate_included- Timestamp when the conversation was added to Elephan.ai, used as the incremental replication key
Conversation messages
Conversation messages
Metadata of the messages exchanged in a WhatsApp conversation. Message bodies are never returned by the API.Key Fields:
conversation_id- Identifier of the conversation the message belongs toid- Identifier of the message. When the API does not provide one, a deterministic hash of the message metadata is used insteaddate- Timestamp when the message was sentdirection- Direction of the message: in for messages received from the contact, out for messages sent by the teamfrom_me- Whether the message was sent by the team member rather than the contactauthor- Phone number of whoever sent the messagetype- Kind of message, such as textscorecard- Per-message scorecard statistics, as a JSON string. Reserved by the API and currently always empty
Insights
Insights
Individual observations the AI extracted from meetings, such as objections, churn signals or feature requests.Key Fields:
id- Unique identifier of the insightsource- Area the insight belongs to: product, sale or cs (customer success)type- Kind of insight, such as objection, churn_signal, closing_signal or feature_request. The possible values depend on the sourcedescription- Short description of the insightdetails- Extended explanation of the insightlabel- Name of the cluster the insight was grouped intocluster_id- Identifier of the cluster the insight belongs tocategory- Additional categorization, present only on some objection typesdate_included- Timestamp when the insight was generated, used as the incremental replication keytranscribe_id- Identifier of the meeting the insight was extracted fromtranscribe_name- Title of the meeting the insight was extracted fromdeal_id- Identifier of the CRM deal linked to the insightdeal_name- Name of the CRM deal linked to the insight
Insight clusters
Insight clusters
Team insights aggregated by cluster, showing the recurring themes across meetings.Key Fields:
cluster_key- Primary key of the row: the cluster identifier as text, or unclustered for insights without onecluster_id- Identifier of the clusterlabel- Name given to the cluster, such as the recurring objection it capturescount- Number of insights grouped under the clustertypes- Breakdown of the insight types inside the cluster, each with its own count, as a JSON stringfirst_date- Timestamp of the earliest insight in the clusterlast_date- Timestamp of the most recent insight in the clustersamples- Up to three example descriptions taken from the cluster’s insights
Scorecard by seller
Scorecard by seller
Average scorecard results per seller over the extracted period.Key Fields:
user_id- Identifier of the seller the scores are aggregated foruser_name- Name of the selleruser_email- Email address of the sellermeetings_count- Number of meetings the seller had in the periodanswers_count- Number of scorecard answers evaluated for the seller in the periodaverage- Average scorecard score of the seller across the periodby_question- Per-question breakdown of the seller’s scores, as a JSON stringperiod_start- Start of the period the aggregate was computed overperiod_end- End of the period the aggregate was computed over
Scorecard by question
Scorecard by question
Average scorecard results per question over the extracted period.Key Fields:
question- Text of the scorecard question the scores are aggregated forquestion_type- Kind of question: range for numeric scores, yesno for boolean answers, text for free-form onesaverage- Average score of the question across the periodcount- Number of answers the average is based ondistribution- How the answers were spread out, as a JSON string: counts per band for range questions, or per answer for yes/no questionsperiod_start- Start of the period the aggregate was computed overperiod_end- End of the period the aggregate was computed over
Users
Users
Members of the Elephan.ai team the API key belongs to.Key Fields:
id- Unique identifier of the username- Full name of the user as registered in Elephan.aiemail- Email address the user signs in withstatus- Current account status of the user, such as activetype- Permission level of the user inside the team: super_admin, admin or userrole- Business role assigned to the user, such as Vendedordate_created- Timestamp when the user was createdlast_login- Timestamp of the user’s most recent sign-in
Prompts
Prompts
Meeting types available to the team, both built-in and custom. A prompt is the analysis template Elephan.ai applies to a meeting, driving its scorecard questions and summary.Key Fields:
id- Unique identifier of the meeting typename- Display name of the meeting typetype- Category of the meeting type, such as salesdescription- Description of what the meeting type analyzesactive- Whether the meeting type is currently available for new meetingsis_default- Whether this is the meeting type applied when none is chosendate_created- Timestamp when the meeting type was created
API usage stats
API usage stats
Daily usage of the Elephan.ai API by your API key, over the last 30 days. Useful for keeping an eye on your account’s request quota.Key Fields:
date- Day the usage figures refer tocount- Total number of API calls made with the API key that dayavg_response_time- Average response time of those calls, in millisecondssuccess_count- Number of calls that succeeded that dayerror_count- Number of calls that failed that day